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

如何用Python合并目录下所有CSV并添加CSV文件名作为列

解决方案:合并CSV并添加来源文件名列

嘿,这事儿用Python的pandas库就能轻松搞定,我给你写个完整的可运行代码,步骤清晰还加了注释,直接用就行!

步骤说明

  1. 导入必要的库:pandas用来处理CSV数据,os用来遍历文件夹里的文件
  2. 设置目标文件夹路径,遍历所有CSV文件
  3. 逐个读取CSV,新增challenge列存储当前文件名
  4. 把所有文件的数据合并到一个DataFrame里
  5. 导出成最终的all_entrants.csv

完整代码

import pandas as pd
import os

# 你的CSV文件夹路径
folder_path = "Downloads/challenges"
# 用来存储所有文件的数据
all_entrants_data = []

# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
    # 只处理CSV格式的文件,避免其他文件干扰
    if filename.lower().endswith(".csv"):
        # 拼接完整的文件路径(跨平台兼容,Windows/macOS/Linux都能用)
        full_file_path = os.path.join(folder_path, filename)
        # 读取当前CSV文件
        df = pd.read_csv(full_file_path)
        # 新增challenge列,值为当前文件名
        df["challenge"] = filename
        # 将当前文件的数据添加到列表中
        all_entrants_data.append(df)

# 合并所有DataFrame,ignore_index=True重置索引,避免不同文件的索引重复
combined_df = pd.concat(all_entrants_data, ignore_index=True)

# 导出合并后的文件,index=False不保存索引列
combined_df.to_csv("all_entrants.csv", index=False)

注意事项

  • 确保你已经安装了pandas:如果没装,运行pip install pandas就行
  • 所有CSV文件的列结构一致(你说50+相同列,完全没问题),如果有个别文件列不一样,pandas会自动给缺失的列补NaN,不影响合并
  • 路径问题:如果你的Downloads是系统默认下载文件夹,在Windows上可能需要写成C:/Users/你的用户名/Downloads/challenges,或者用原始字符串r"C:\Users\你的用户名\Downloads\challenges"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:06:32