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

使用For循环将多个DataFrame写入Excel不同工作表失败求助

代码无输出问题排查与修复

核心问题

你创建了pd.ExcelWriter对象后,没有执行保存操作——Pandas的ExcelWriter需要显式完成写入并关闭,才能将内存中的数据输出到磁盘文件,这是导致无结果的直接原因。

修复后的完整代码

import pandas as pd

fileName = 'Hierarchy_Filtered.csv'
filterField = 'Sub Function1'

df = pd.read_csv(fileName)
finance_subfunctions = df[filterField].unique()

data_fields = ['Employee ID', 'Employee First Name', 'Employee Last Name', 'Hire Date', 'Work Location Code Desc', 'Dept Description', 'Job Profile Name']

# 使用with语句自动管理资源,块结束时会自动保存并关闭文件
with pd.ExcelWriter('output.xlsx') as writer:
    for subfunction in finance_subfunctions:
        df2 = df.loc[df[filterField] == subfunction]
        df2 = df2[data_fields]
        df2.to_excel(writer, sheet_name=subfunction, index=False)

额外排查点

  • 确认Hierarchy_Filtered.csv在当前运行目录下,或者使用完整文件路径(如D:/project/Hierarchy_Filtered.csv)
  • 检查Sub Function1列名是否和CSV文件中的完全一致(注意空格、大小写)
  • 可以添加print(finance_subfunctions)验证是否成功提取到唯一子函数
  • 确认data_fields中的列名全部存在于DataFrame中,避免因列名错误导致数据为空

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:45:37