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

如何使用Pandas批量分析文件夹中CSV文件并仅导出结果至单个CSV

批量处理文件夹中多个CSV文件并汇总分析结果

实现思路

针对你的需求,我们可以通过遍历目标文件夹中的所有CSV文件,逐个计算指定指标,最后将所有文件的分析结果汇总到一个DataFrame并保存为单个CSV文件。这种方式比你原有的单个文件处理更高效,且结果更简洁(每个文件对应一行汇总数据)。

完整代码示例

import os
import pandas as pd

# 替换为你的目标文件夹路径
folder_path = "./your_csv_folder"

# 初始化列表存储所有文件的分析结果
summary_results = []

# 遍历文件夹内的所有文件
for file_name in os.listdir(folder_path):
    # 仅处理CSV文件
    if file_name.lower().endswith(".csv"):
        file_full_path = os.path.join(folder_path, file_name)
        try:
            # 读取CSV文件
            df = pd.read_csv(file_full_path)
            
            # 计算各项指标
            total_rows = len(df)
            unique_col1 = df["column1"].nunique()
            count_a_col2 = df["column2"].value_counts().get("A", 0)  # 若'A'不存在则返回0
            
            # 将当前文件的结果存入列表
            summary_results.append({
                "文件名": file_name,
                "总行数": total_rows,
                "column1唯一值数量": unique_col1,
                "column2中A类型数量": count_a_col2
            })
        except Exception as e:
            # 捕获异常,避免单个文件出错导致程序终止
            print(f"处理文件 {file_name} 时发生错误: {str(e)}")

# 将汇总结果转换为DataFrame
summary_df = pd.DataFrame(summary_results)

# 保存汇总结果到CSV文件(支持中文)
summary_df.to_csv("所有文件分析汇总.csv", index=False, encoding="utf-8-sig")

代码说明

  • 遍历文件夹:使用os.listdir获取文件夹内所有文件,通过后缀筛选CSV文件。
  • 指标计算:
    • len(df):获取文件总行数
    • df['column1'].nunique():统计column1的唯一值数量
    • df['column2'].value_counts().get('A',0):统计column2中'A'的出现次数,若'A'不存在则返回0(避免KeyError)
  • 异常处理:添加try-except块,确保单个文件处理失败时,程序能继续处理其他文件。
  • 结果保存:将所有文件的汇总结果存入一个DataFrame,最后保存为单个CSV文件,使用utf-8-sig编码保证中文内容正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:39:34