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

如何读取文件夹中特定命名的多CSV文件,添加标签后合并?

解决方案(基于Python Pandas)

直接上可运行的代码及关键步骤说明:

1. 导入必要依赖库

import pandas as pd
import os

2. 核心处理逻辑

先初始化空列表存储每个处理后的数据集,再通过.format()构造文件名循环读取、添加标签,最后合并输出:

# 初始化空列表,存放每个处理后的DataFrame
processed_dfs = []

# 假设文件序号从1到10,根据你的实际文件数量修改范围
for idx in range(1, 11):
    # 用.format()拼接目标文件名
    target_file = "{}.car.csv".format(idx)
    # 先检查文件是否存在,避免报错
    if os.path.exists(target_file):
        # 读取CSV文件
        df = pd.read_csv(target_file)
        # 在数据集最右侧添加新标签列,这里用文件序号作为标签值,可按需修改
        df["source_file_tag"] = f"car_file_{idx}"
        # 将处理后的数据集加入列表
        processed_dfs.append(df)
    else:
        print(f"文件 {target_file} 未找到,跳过")

# 合并所有处理后的数据集(因属性一致,直接按行合并)
merged_data = pd.concat(processed_dfs, ignore_index=True)
# 保存合并后的文件
merged_data.to_csv("merged_all_car_data.csv", index=False)

3. 适配未知文件数量的场景

如果不确定文件的最大序号,可以自动扫描文件夹筛选目标文件:

# 遍历当前文件夹,筛选所有以.car.csv结尾的文件
target_files = [f for f in os.listdir() if f.endswith(".car.csv")]
# 按文件名里的序号排序,确保处理顺序正确
target_files.sort(key=lambda x: int(x.split(".")[0]))

for file_name in target_files:
    df = pd.read_csv(file_name)
    # 提取文件名中的序号作为标签值
    file_idx = file_name.split(".")[0]
    df["source_file_tag"] = f"car_file_{file_idx}"
    processed_dfs.append(df)

# 合并、保存步骤同上

自定义说明

  • 新标签列的名称(如source_file_tag)和标签值(如car_file_{idx})可根据需求修改;
  • 如果文件不在当前工作目录,需要在target_file中拼接完整路径,比如"./data/{}.car.csv".format(idx)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:01:15