将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()