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

批量读取同前缀CSV文件并生成含文件名的结果DataFrame

批量处理CSV文件并合并结果到单DataFrame

当然可以实现这个需求!这是非常典型的批量数据处理场景,我给你准备了一个完全可复现的示例,你可以直接照搬修改,适配自己的实际代码逻辑。

第一步:准备测试用CSV文件

先在你的工作目录下创建几个测试用的CSV文件,方便验证代码效果:

  • myfile_1.csv
col1,col2
10,20
30,40
50,60
  • myfile_2.csv
col1,col2
70,80
90,100
110,120
  • myfile_3.csv
col1,col2
130,140
150,160
170,180

第二步:编写批量处理代码

下面的代码会自动遍历指定路径下以myfile_为前缀的CSV文件,对每个文件执行自定义处理逻辑,最后把所有结果合并到一个包含文件名和你的5个输出列的DataFrame中:

import pandas as pd
import os

# 定义你的自定义处理函数(这里用5个统计指标作为示例,替换成你自己的代码)
def process_single_file(file_path):
    # 读取CSV文件
    df = pd.read_csv(file_path)
    
    # --- 这里替换成你自己的核心代码 ---
    # 示例:生成5个输出变量/列
    output_vars = {
        "sum_col1": df["col1"].sum(),
        "mean_col2": df["col2"].mean(),
        "max_col1": df["col1"].max(),
        "min_col2": df["col2"].min(),
        "total_rows": len(df)
    }
    # --- 核心代码结束 ---
    
    # 添加文件名到结果中
    output_vars["file_name"] = os.path.basename(file_path)
    return pd.Series(output_vars)

# 设置工作目录(替换成你的CSV文件所在路径)
working_dir = "./"

# 筛选出所有以"myfile_"为前缀的CSV文件
target_files = [
    os.path.join(working_dir, f) 
    for f in os.listdir(working_dir) 
    if f.startswith("myfile_") and f.endswith(".csv")
]

# 批量处理所有文件并合并结果
final_result = pd.concat(
    [process_single_file(file) for file in target_files],
    axis=1
).T

# 调整列顺序(把文件名放到第一列)
final_result = final_result[["file_name", "sum_col1", "mean_col2", "max_col1", "min_col2", "total_rows"]]

# 打印结果
print(final_result)

# 可选:把结果保存为新的CSV文件
final_result.to_csv("combined_results.csv", index=False)

代码说明

  • 自定义处理函数:process_single_file是核心部分,你只需要把自己的代码替换掉示例中的统计逻辑,确保最后返回的字典包含你的5个输出变量,再加上文件名即可。
  • 文件筛选:通过列表推导式筛选出符合前缀和格式要求的CSV文件,避免处理无关文件。
  • 结果合并:用pd.concat把每个文件的处理结果合并成最终的DataFrame,.T是转置操作,让每个文件的结果成为一行。
  • 列顺序调整:把文件名放到第一列,让结果更清晰易读。

运行代码后,你会得到类似这样的输出:

file_name sum_col1 mean_col2 max_col1 min_col2 total_rows
0  myfile_1.csv      90        40       50       20          3
1  myfile_2.csv     270       100      110       80          3
2  myfile_3.csv     450       160      170      140          3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:12:24