Ich versuche, eine Excel-Tabelle mit mehreren Registerkarten, die mit pandas
und xlsxwriter
erstellt wurden, in Dropbox hochzuladen. Nicht sehr große Dateien, nur etwa 5 MB. Ich bin mit dem dropbox
Modul für Python 3So erhalten Sie den binären Inhalt eines pandas xlsxwriter-Objekts für Dropbox-Upload
ich tue:
filename = pd.ExcelWriter('myfile.xlsx' ,engine='xlsxwriter')
actions.to_excel(filename, sheet_name="Combined Actions")
filename.save()
with open(filename, "rb") as f:
dbx.files_upload(f.read(), "/MyAPP/"+filename)
ich in der Dokumentation gelesen, dass files_upload
ein Byte Objekt erwartet. Ich bekomme den Fehler: Type Error: Invalid file: <pandas.io.excel__XlsxWriter object at 0x000000000071C48>
Ist dieser Fehler, weil ich die Datei nicht im benötigten Format liefern? Wie kann ich diesen Upload durchführen, damit ich keinen Typfehler erhalte?
Danke, es war auf jeden Fall ein einfacher Fehler. Ihre Lösung ist richtig, auch eine andere korrekte Lösung wäre, 'myfile.xlsx' anstelle von' filename' in 'with open ...' und in' dbx.files_upload' zu verwenden. –