我可以将StringIO对象传递给pd.to_csv(),一切都很好:
io = StringIO.StringIO()
pd.DataFrame().to_csv(io)
但是使用Excel写入器时,我遇到了更多的麻烦。
io = StringIO.StringIO()
writer = pd.ExcelWriter(io)
pd.DataFrame().to_excel(writer,"sheet name")
writer.save()
返回一个
AttributeError: StringIO instance has no attribute 'rfind'
我正在尝试创建一个ExcelWriter
对象,但是不想调用pd.ExcelWriter()
,但是遇到了一些问题。目前我已经尝试了以下方法:
from xlsxwriter.workbook import Workbook
writer = Workbook(io)
pd.DataFrame().to_excel(writer,"sheet name")
writer.save()
但是现在我遇到了一个AttributeError: 'Workbook' object has no attribute 'write_cells'
的错误。
如何将一个 Pandas 数据框以 Excel 格式保存到一个 StringIO
对象中?
to_excel
的参数是指向Excel文件的路径,而不是实际的文件对象。你为什么要创建一个Excel文件的内存表示呢? - BrenBarnio.BytesIO
,因为编写Excel文件的输出是一系列字节而不是(Unicode)字符串。 - LeoRochael