如何获取用于 dropbox 上传的 pandas xlsxwriter 对象的二进制内容
How to get the binary contents of a pandas xlsxwriter object for dropbox upload
我正在尝试将 Excel sheet 上传到保管箱,其中包含多个由 pandas
和 xlsxwriter
制作的标签。文件不是很大,大约 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
打开一个对象。它需要一个字符串作为它的第一个参数(代表一个文件路径)。有关 open
函数的更多信息,请参见 docs。
pandas 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)
我正在尝试将 Excel sheet 上传到保管箱,其中包含多个由 pandas
和 xlsxwriter
制作的标签。文件不是很大,大约 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
打开一个对象。它需要一个字符串作为它的第一个参数(代表一个文件路径)。有关 open
函数的更多信息,请参见 docs。
pandas 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)