Ich versuche Python zu verwenden, um eine Excel-Datei von Box auf mein lokales Laufwerk herunterzuladen.Verwenden von Python zum Herunterladen von Dateien aus Box
Mit der Boxsdk konnte ich über OAuth2 authentifizieren und erfolgreich die Datei-ID auf Box erhalten.
Wenn ich jedoch die client.file(file_id).content()
Funktion verwende, gibt es nur eine Zeichenfolge zurück, und wenn ich client.file(file_id).get()
verwende, dann gibt es mir nur eine boxsdk.object.file.File
.
Weiß jemand, wie man eine dieser Dateien in eine Excel-Datei auf dem lokalen Rechner schreibt? Oder eine bessere Methode, Python zum Herunterladen einer Excel-Datei aus Box zu verwenden.
(Ich entdeckte, dass boxsdk.object.file.File
eine Option download_to(writeable_stream
here hat, aber ich habe keine Ahnung, wie man das verwendet, um eine Excel-Datei zu erstellen und meine Suchen waren nicht hilfreich).
Sie sind den größten Teil des Weges. Was übrig bleibt, sollte einfacher sein als das, was Sie bereits getan haben. Wenn ich die Boxdokumente richtig lese, muss man nur eine neue, beschreibbare Datei im Binärmodus öffnen und diese Datei (das Python-Dateiobjekt, nicht den Namen der Datei) als Parameter für 'download_to()' verwenden . Schau dir Pythons 'open()' eingebaute Funktion an. –
Danke John Y, das hat funktioniert! Ich benutzte die Funktion open() mit den Argumenten 'wb' (für Modus) und 1 (für Puffer). So lange ich bereits eine leere Excel-Datei auf dem lokalen Laufwerk erstellt hatte, schrieb sie die heruntergeladenen Daten in das Excel-Blatt (einschließlich der Trennung in verschiedene Registerkarten). Excel war nicht glücklich, als ich versuchte, die Excel-Datei manuell zu öffnen, aber solange ich die Funktion close() zuerst benutzte, war es möglich, die Excel-Registerkarten als Datenrahmen in Python mit Pandas zu öffnen. Danke noch einmal! – Clerin