将DataFrame列表保存到多表格Excel电子表格

如何将DataFrame列表导出到一个Excel电子表格中?
to_excel状态的文档:

笔记
如果传递一个现有的ExcelWriter对象,那么该表将被添加到现有的工作簿中。 这可以用来将不同的DataFrame保存到一个工作簿

writer = ExcelWriter('output.xlsx')
df1.to_excel(writer, 'sheet1')
df2.to_excel(writer, 'sheet2')
writer.save()

在此之后,我想我可以写一个函数,将一个DataFrame列表保存到一个电子表格中,如下所示:

 from openpyxl.writer.excel import ExcelWriter def save_xls(list_dfs, xls_path): writer = ExcelWriter(xls_path) for n, df in enumerate(list_dfs): df.to_excel(writer,'sheet%s' % n) writer.save() 

然而(有两个小的DataFrames,其中每个都可以单独保存to_excel ),会引发一个exception(Edit:traceback removed)

 AttributeError: 'str' object has no attribute 'worksheets' 

据推测,我没有正确调用ExcelWriter ,我应该如何做到这一点?

你应该使用pandas自己的ExcelWriter类:

 from pandas import ExcelWriter # from pandas.io.parsers import ExcelWriter 

然后save_xls函数按预期工作:

 def save_xls(list_dfs, xls_path): writer = ExcelWriter(xls_path) for n, df in enumerate(list_dfs): df.to_excel(writer,'sheet%s' % n) writer.save() 
    Interesting Posts