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

如何修改Python脚本批量处理目录CSV并按文件名建文件夹输出结果

批量CSV异常检测脚本改造方案

不需要改动你原有500余行Pandas/NumPy核心数据处理逻辑,仅需在外层增加文件遍历、自动创建目录的逻辑,即可实现全目录批量处理,总改动量不超过20行。

具体改造方法

  • 引入Python自带的路径处理库,无需安装额外第三方依赖
  • 将原有单文件处理逻辑的输入、输出路径改为动态生成
  • 遍历目标目录下所有.csv后缀的待检测文件,逐个执行处理流程

改造后完整代码

直接把你原来的核心处理代码替换到对应注释位置即可:

import os
import glob
import pandas as pd
import numpy as np

# 配置待检测文件存放的根目录
BASE_DIR = "C:/users/path/"

def process_single_csv(csv_path):
    # 提取不带后缀的文件名,用于创建输出文件夹
    file_name = os.path.basename(csv_path).replace(".csv", "")
    output_dir = os.path.join(BASE_DIR, file_name)
    # 自动创建输出文件夹,已存在也不会报错
    os.makedirs(output_dir, exist_ok=True)

    # 读取当前待检测的CSV文件
    data = pd.read_csv(csv_path, encoding='latin-1' )

    #################################################
    # 这里原封不动粘贴你原来那500多行Pandas/NumPy处理代码 #
    #################################################

    # 所有输出文件自动存入对应文件名的文件夹
    failed.to_csv(os.path.join(output_dir, "Failed.csv"), index = False)
    passed.to_csv(os.path.join(output_dir, "Passed.csv"), index = False)
    newimpomatic.to_csv(os.path.join(output_dir, "Import.csv"), index = False)
    duplicated.to_csv(os.path.join(output_dir, "duplicated.csv"), index = False)
    print(f"处理完成:{csv_path}")

if __name__ == "__main__":
    # 遍历根目录下所有CSV文件
    all_csv_files = glob.glob(os.path.join(BASE_DIR, "*.csv"))
    for csv_file in all_csv_files:
        process_single_csv(csv_file)
    print(f"全部文件处理完成,共处理{len(all_csv_files)}个CSV文件")

使用说明

  • 脚本可以放在任意目录运行,不需要手动复制到每个结果文件夹,也不需要提前手动创建目录、逐次修改代码里的文件名
  • 遍历逻辑仅扫描根目录下直接存放的CSV文件,子文件夹中生成的结果文件不会被重复识别处理,不会出现重复处理结果文件的问题
  • 重复运行脚本不会抛出目录已存在的报错,会直接覆盖对应目录下旧的结果文件
  • 如果需要跳过已经处理过的文件,可以在遍历逻辑中增加判断:检测对应输出目录是否存在,存在则跳过当前文件即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 17:39:20