如何使用Python Pandas将数据导出至不同Excel工作表?
你的问题出在每次调用to_excel()时,Pandas默认会创建一个新的Excel文件,覆盖掉之前的内容,所以sheet2会替换掉sheet1。要实现多工作表写入,需要用pd.ExcelWriter来统一管理文件的写入过程。
解决方案1:新建Excel文件并写入多个工作表
使用with语句创建ExcelWriter对象,然后将每个DataFrame写入对应的工作表:
import pandas as pd # 假设calculated_df、calculated_df2是已处理好的DataFrame with pd.ExcelWriter('my_excel.xlsx') as writer: calculated_df.to_excel(writer, sheet_name='sheet1') calculated_df2.to_excel(writer, sheet_name='sheet2')
解决方案2:追加到已存在的Excel文件
如果需要保留原Excel文件中的内容,同时添加新工作表,需要使用mode='a'(追加模式),并指定engine='openpyxl'(因为默认的xlsxwriter不支持追加操作):
import pandas as pd # 确保已安装openpyxl:pip install openpyxl with pd.ExcelWriter('my_excel.xlsx', mode='a', engine='openpyxl') as writer: calculated_df.to_excel(writer, sheet_name='sheet1') calculated_df2.to_excel(writer, sheet_name='sheet2')
注意:如果原文件中已经存在同名工作表,追加模式下会覆盖该工作表的内容,若想避免覆盖,可以先检查工作表是否存在,或者使用不同的表名。
内容的提问来源于stack exchange,提问作者JMJ
相关产品推荐
相关产品推荐

