使用pandas将多个DataFrame保存至Excel不同Sheet的方法
本文介绍如何利用pandas库将多个DataFrame对象保存至同一个Excel文件的不同Sheet中。核心步骤包括使用pd.ExcelWriter创建写入器,依次调用to_excel方法指定sheet_name,最后执行save保存。若需修改已存在的Excel文件,需结合openpyxl库加载现有工作簿以避免覆盖。
pandas多DataFrame写入Excel多Sheet方法
实现将多个DataFrame保存至同一Excel文件的不同Sheet,这里记录一种较为便捷的操作方式:
import pandas as pd
writer = pd.ExcelWriter('test.xlsx')
data1.to_excel(writer,sheet_name='sheet1')
data2.to_excel(writer,sheet_name='sheet2')
writer.save()
上述基础方法会直接覆盖原有的Excel文件。若需在已存在的Excel文件中进行修改或追加,可借助开源工具包openpyxl(该库通常随anaconda环境附带)来实现。
import pandas as pd
from openpyxl import load_workbook
writer = pd.ExcelWriter('test.xlsx',engin='openpyxl')
book = load_workbook(writer.path)
writer.book = book
dataframe.to_excel(excel_writer=writer,sheet_name="info5")
writer.save()
writer.close()
利用DataFrame.to_excel方法多次写入不同的Sheet。
关键在于使用pd.ExcelWriter([文件路径])方法来初始化写入器。
具体实现可参考官方文档说明。
>>> writer = pd.ExcelWriter('output.xlsx')
>>> df1.to_excel(writer,'Sheet1')
>>> df2.to_excel(writer,'Sheet2')
>>> writer.save()
以下是实际应用场景中的代码示例:
"""
df1,df2均为sql查询来的数据
excel_filepath为要生成保存的excel文件地址
"""
write = pd.ExcelWriter(excel_filepath)
df1 = pd.DataFrame(d_f1)
excel_header = ['日期','年龄']#excel的标题
df1.to_excel(write,sheet_name='Sheet1',header=excel_header,index=False)
df2 = pd.DataFrame(d_f2)
excel_header = ['日期','人数']
df2.to_excel(write,sheet_name='Sheet2',header=excel_header,index=False)
write.save()
以上即为本文的全部内容,希望能为各位的学习提供参考,也欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













