Python文件批量处理脚本_自动化解析【教程】

22次阅读

python批量处理文件需遵循遍历+读取+解析+保存四步闭环,关键在于选用合适模块并规避路径与编码问题:统一用pathlib.Path处理路径、优先utf-8编码、非正则优先提取、结构化数据用pandas汇总、添加进度提示与错误反馈。

Python文件批量处理脚本_自动化解析【教程】

用Python批量处理文件,核心是遍历+读取+解析+保存四步闭环。关键不在写多复杂,而在选对模块、避开路径和编码坑。

一、统一读取不同后缀的文件

常见文本类文件(.txt/.csv/.log/.md)可用内置open(),但必须显式指定编码;excel(.xlsx)需pandasopenpyxljsON用json模块最稳妥。

  • 建议统一用utf-8打开,遇到乱码再试gbklatin-1
  • pathlib.Path替代os.path,路径拼接更直观,比如dir_path / "data" / "file.txt"
  • 跳过隐藏文件和目录:if file.is_file() and not file.name.startswith(".")

二、按规则提取内容(非正则优先)

别一上来就写正则。先看数据结构:是固定列宽?有分隔符?含标准字段名?能用split()csv.readerpandas.read_csv()就不用正则。

  • 日志类文本常用line.startswith("Error")快速过滤
  • CSV若含逗号在字段内,务必用csv模块,别用str.split(",")
  • 需要正则时,提前编译:pattern = re.compile(r"d{4}-d{2}-d{2}"),避免循环里重复编译

三、结果汇总与自动保存

批量解析后不导出等于白干。推荐两种方式:

立即学习Python免费学习笔记(深入)”;

  • 结构化数据(如表格)→ 用pandas.DataFrame收集,最后.to_csv("output.csv", index=False)
  • 纯文本汇总 → 每次with open(..., "a", encoding="utf-8") as f:追加,注意首次清空旧文件
  • 保留原始文件名关联结果:result["source"] = file.name,方便溯源

四、加个简单进度提示,别让脚本“假死”

处理上百个文件时,没反馈容易误判卡住。不用第三方库,用内置print()配合r回车即可。

  • 示例:print(f"r处理中: {i}/{total} ({file.name})", end="", flush=True)
  • 报错别吞掉:except Exception as e: print(f"❌ {file.name}: {e}"),便于定位问题文件
  • 完成加个✅提示:print(f"n✅ 全部完成,共处理 {total} 个文件")
text=ZqhQzanResources