我正在尝试将具有pandas
和xlsxwriter
的多个选项卡的Excel工作表上载到Dropbox。不是很大的文件,大约5MB。我正在为Python 3使用dropbox
模块
我在做:
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)
我在文档中读到
files_upload
需要一个字节对象。我收到错误消息:Type Error: Invalid file: <pandas.io.excel__XlsxWriter object at 0x000000000071C48>
这是因为我没有以所需的格式提供文件吗?我该如何上传而不出现类型错误?
最佳答案
您正在尝试使用内置函数open
打开对象。它需要一个字符串作为其第一个参数(代表文件路径)。在docs中可以找到有关open
功能的更多信息。
熊猫ExcelWriter的source显示它将您传递给它的文件名存储在.path
中。因此,重命名变量以更好地表示它们是什么,并使用ExcelWriter实例的.path
属性:
excel_file = pd.ExcelWriter('myfile.xlsx', engine='xlsxwriter')
actions.to_excel(excel_file, sheet_name="Combined Actions")
excel_file.save()
with open(excel_file.path, 'rb') as f:
dbx.files_upload(f.read(), '/MyAPP/'+excel_file.path)
关于python - 如何获取 Pandas xlsxwriter对象的二进制内容以进行保管箱上传,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45185464/