You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过For Loop将Dataframes导出至同一Excel工作簿的不同工作表

解决Pandas循环导出多DataFrame到同一Excel工作簿的问题

你的核心问题是每次循环调用to_excel时都会重新生成整个Excel文件,导致最终要么只保留最后一个工作表,要么误生成多个独立文件。正确的做法是使用ExcelWriter上下文管理器,全程操作同一个工作簿实例。

修正后的代码

import pandas as pd

FileName_List = ["AAPL", "GME", "MSFT", "NTDOY", "Z"]

# 用with语句管理ExcelWriter,自动处理文件的打开/关闭
with pd.ExcelWriter("Final_Output.xlsx") as writer:
    for FileName in FileName_List:
        ReadName = FileName + ".csv"
        Raw_Data = pd.read_csv(ReadName, sep=",")
  
        # 此处插入你的数据处理代码
  
        # 指定writer对象,将数据写入对应工作表
        Raw_Data.to_excel(writer, sheet_name=FileName)

关键说明

  • 必须用with语句初始化ExcelWriter:它会确保文件在循环结束后正确关闭,避免你之前遇到的zipfile格式错误(这类错误大多是因为文件未被正确释放)
  • 循环内的to_excel必须传入writer参数:否则会默认创建新文件,覆盖之前的内容
  • 所有处理后的DataFrame都会写入同一个Final_Output.xlsx文件,每个工作表以循环中的FileName命名

内容的提问来源于stack exchange,提问作者Emm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:07:01