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

使用Python Pandas读取多CSV文件转Excel并添加文件名至行

使用Pandas批量读取CSV并生成带文件名的Excel文件

以下是实现需求的完整代码,包含详细注释:

import pandas as pd
import os

# 配置路径(替换为你的实际路径)
csv_directory = "./your_csv_folder"  # 存放CSV文件的文件夹
output_excel_path = "merged_data_with_filenames.xlsx"

# 初始化空DataFrame用于存储合并后的数据
merged_data = pd.DataFrame()

# 遍历目标文件夹中的所有CSV文件
for file_name in os.listdir(csv_directory):
    if file_name.lower().endswith(".csv"):  # 忽略大小写匹配CSV后缀
        file_full_path = os.path.join(csv_directory, file_name)
        # 读取CSV文件
        df = pd.read_csv(file_full_path)
        # 添加"来源文件名"列,若需去掉.csv后缀可替换为os.path.splitext(file_name)[0]
        df["来源文件名"] = file_name
        # 合并数据到总DataFrame
        merged_data = pd.concat([merged_data, df], ignore_index=True)

# 将合并后的数据写入Excel,不保留索引列
merged_data.to_excel(output_excel_path, index=False)

补充说明

  • 精准匹配CSV文件:如果文件夹中有非CSV文件,也可以用glob库更可靠地筛选:
    from glob import glob
    csv_files = glob(os.path.join(csv_directory, "*.csv"))
    for file_full_path in csv_files:
        file_name = os.path.basename(file_full_path)
        # 后续读取合并逻辑同上
    
  • 处理列结构差异:若不同CSV的列名/数量不一致,concat会自动为缺失列填充NaN;如需严格统一列结构,可在pd.read_csv()中用usecols参数指定固定列。
  • 大文件优化:处理超大CSV时,建议用pd.read_csv(chunksize=10000)分块读取,避免内存溢出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 08:01:43