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

遍历CSV文件计算指标后生成指定格式新DataFrame的技术需求

嘿,我来帮你搞定这个需求~

解决方案

咱们需要解决两个核心问题:从完整文件路径中提取纯文件名,以及将每个文件的计算结果规整成新的DataFrame。这里可以借助Python的os模块处理路径,再用列表统一收集结果后转成DataFrame,操作起来很顺畅。

修改后的完整代码

import glob
import pandas as pd
import os  # 导入os模块处理路径

# 获取目标文件夹下所有CSV文件的完整路径
file_paths = glob.glob(r'C:\Users\Desktop\files\*.csv')

# 初始化空列表,用来存储每个文件的计算结果
results = []

# 遍历每个文件路径
for path in file_paths:
    # 提取纯文件名(自动去掉前面的完整路径)
    file_name = os.path.basename(path)
    # 读取CSV文件(保持你原来的header=1设置)
    df = pd.read_csv(path, header=1)
    
    # 这里放你原来的数据处理逻辑,计算当前文件的avg和sum
    # 示例:假设你是对某列进行计算,替换成你实际的代码即可
    avg = df['target_column'].mean()  # 替换成你的平均值计算逻辑
    sum_val = df['target_column'].sum()  # 用sum_val避免和内置函数sum重名
    
    # 将当前文件的结果以字典形式加入列表
    results.append({
        '文件名': file_name,
        '平均值': avg,
        '求和值': sum_val
    })

# 将结果列表转换成最终的DataFrame
final_result_df = pd.DataFrame(results)
# 可以打印查看结果,或者导出成CSV
print(final_result_df)

关键细节说明

  • 提取纯文件名:os.path.basename(path)是核心,它会自动截取路径的最后一段,比如C:\Users\Desktop\files\sales_2024.csv会直接变成sales_2024.csv,完全符合你要的只显示文件名的需求。
  • 结果收集方式:用字典列表存储每个文件的信息,结构清晰,后续转DataFrame时会自动对应成列,不用手动处理列名和数据的对应关系。
  • 避免命名冲突:把原来的sum变量改成sum_val,防止和Python内置的sum()函数重名,避免潜在的运行bug。

如果你的数据处理逻辑已经能正确算出avg和sum,只需要把代码中对应的计算部分替换掉就行,运行后final_result_df就是你想要的包含文件名、平均值、求和值的新DataFrame啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:14:16