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

如何用Pandas将多个CSV存入单个Excel文件的不同工作表?

解决方案:用Pandas将多个CSV存入Excel的不同工作表

先帮你梳理下当前代码的问题,再给出精准的实现方案:

  • 语法错误:df.to_csv('c.csv,' index=False) 里的逗号错误地放在了引号内,应该改为 df.to_csv('c.csv', index=False),这大概率是导致无输出的直接原因之一。
  • 逻辑偏离需求:你当前的代码是把所有CSV内容合并成单个DataFrame后导出为CSV,但你的实际需求是将每个CSV原样存入Excel的独立工作表,两者逻辑完全不符。
  • 遍历文件夹的语法问题:原代码中 folders=next(os.walk('.'))[1] for host in folders: 是无效语法,正确写法应该是先获取子文件夹列表,再逐个遍历。

满足需求的完整代码

下面的代码会遍历指定范围的CSV文件,将每个CSV的内容原样存入Excel的独立工作表:

import os
import glob
import pandas as pd

# 创建Excel写入对象,自动管理文件开闭
with pd.ExcelWriter('merged_excel.xlsx') as writer:
    # 递归遍历当前目录及所有子文件夹的CSV文件
    for csv_path in glob.glob(os.path.join(os.getcwd(), '**', '*.csv'), recursive=True):
        # 读取原CSV内容
        df = pd.read_csv(csv_path)
        # 用CSV文件名作为工作表名(去掉路径和后缀)
        sheet_name = os.path.splitext(os.path.basename(csv_path))[0]
        # 将数据写入对应工作表,保留原CSV格式
        df.to_excel(writer, sheet_name=sheet_name, index=False)

print("多工作表Excel文件已生成!")

代码细节说明

  • pd.ExcelWriter 是Pandas专门用于生成多工作表Excel的工具,配合with语句无需手动关闭文件。
  • 如果只需要处理当前目录的CSV,去掉glob参数里的recursive=True即可。
  • 用CSV文件名作为工作表名,确保每个工作表和原CSV一一对应,内容完全保留。
  • index=False 避免将DataFrame的索引写入Excel,和原CSV格式保持一致。

如果你只想处理特定子文件夹下的CSV(对应你原代码的遍历逻辑),可以用这个版本:

import os
import glob
import pandas as pd

# 获取当前目录下的所有子文件夹
folders = next(os.walk('.'))[1]

with pd.ExcelWriter('merged_excel.xlsx') as writer:
    for folder_name in folders:
        folder_path = os.path.join(os.getcwd(), folder_name)
        # 获取当前子文件夹下的所有CSV
        csv_files = glob.glob(os.path.join(folder_path, "*.csv"))
        for csv_path in csv_files:
            df = pd.read_csv(csv_path)
            # 用「文件夹名_文件名」作为工作表名,避免同名冲突
            sheet_name = f"{folder_name}_{os.path.splitext(os.path.basename(csv_path))[0]}"
            df.to_excel(writer, sheet_name=sheet_name, index=False)

print("多工作表Excel文件已生成!")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:40:41