Je souhaite comparer deux versions de petits fichiers Excel stockés dans Dropbox en tant que version séparée.
En utilisant le SDK Python, et plus particulièrement la fonction Méthode files_download() Je reçois un objet requests.models.Response, mais j'ai du mal à obtenir un objet pandas.read_excel() pour le consommer.
Voici l'extrait de code :
with open(resp.content, "rb") as handle:
df = pandas.read_excel(handle.read())
L'erreur :
TypeError('file() argument 1 must be encoded string without null bytes, not str',)
Je sais qu'il me manque quelque chose de fondamental, peut-être la nécessité d'encoder le fichier en tant que binaire. (J'ai essayé base64.b64encode, et d'autres choses, sans succès pour l'instant.) J'espère que quelqu'un pourra m'aider en m'indiquant la bonne direction, peut-être avec le module io ?
J'utilise Python 2.7.15
Pour éviter toute ambiguïté, je cherche spécifiquement à éviter l'étape consistant à enregistrer les fichiers Excel dans le système de fichiers. Je suis sûr Je peux atteindre l'objectif général de cette manière, mais pour optimiser, j'essaie de lire les fichiers de Dropbox directement dans pandas DataFrames, et le fait que la méthode read_excel() prenne un fichier- comme L'objet signifie que je penser -que je devrais être en mesure de le faire.
Fondamentalement, je pense que cette résume la douleur que j'éprouve en ce moment. J'ai besoin de récupérer la réponse de Dropbox sous la forme d'un objet de type fichier.