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

遍历目录CSV文件存入单个Excel不同工作表的代码问题排查

问题修复说明

错误原因

  • df_list 初始化位置错误,放在了CSV遍历循环内部,每轮循环都会清空已存储的DataFrame
  • 嵌套的枚举循环每次从0开始计数,生成的工作表名重复为Sheet1,后续写入会直接覆盖已有工作表,最终仅保留最后一个CSV的处理结果

优化后可运行代码

from pathlib import Path
import pandas as pd

dir_b = r'/Desktop/MyProjects'
# 用with上下文管理器管理ExcelWriter对象,自动执行保存,无需手动调用save()
with pd.ExcelWriter('Compiled File.xlsx') as writer:
    # 直接枚举遍历所有CSV文件,start参数指定起始序号,不用额外维护计数器
    for idx, csv in enumerate(Path(dir_b).glob('*.csv'), start=1):
        df = pd.read_csv(csv, encoding = 'ISO-8859-1', engine='python', delimiter = ',')
        # 调整car列位置到第10列(索引为9)
        car_column = df.pop('car')
        df.insert(9, 'car', car_column)
        # 写入对应工作表
        df.to_excel(writer, sheet_name = f'Sheet{idx}', index = False)

如果需要用CSV原文件名作为工作表名,可将sheet_name参数改为csv.stem,注意Excel工作表名最多支持31个字符,过长可按需裁剪。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:54:00