批量处理文本文件应分步构建可复用流程:优先用pathlib或glob安全定位文件,用chardet或编码列表容错读取,处理后默认输出到output/目录,加tqdm进度条与try/except错误隔离,并拆分为小函数提升可维护性。
批量处理文本文件在日常数据清洗、日志分析、文档整理中非常常见。用 Python 实现,核心是结合 os、glob、pathlib 遍历文件,再用 open 或 codecs 读写,配合 re、csv、pandas 等做内容处理。关键不是“一次写完所有功能”,而是分步构建可复用、易调试的流程。
别硬写 for 循环遍历目录树。优先用 pathlib(Python 3.4+ 内置,面向对象更清晰)或 glob(语法简洁)。
from pathlib import Path
files = list(Path(".").glob("*.txt"))
files = list(Path(".").rglob("*.log")) + list(Path(".").rglob("*.csv"))
**/ 并设 recursive=
True:import glob
files = glob.glob("**/*.md", recursive=True)
中文环境常遇到 UnicodeDecodeError。不要默认用 utf-8 硬开——先尝试 utf-8,失败后自动 fallback 到 gbk 或检测编码。
pip install chardet):import chardet
with open(file, "rb") as f:
raw = f.read()
encoding = chardet.detect(raw)["encoding"] or "utf-8"
text = raw.decode(encoding)
encodings = ["utf-8", "gbk", "latin-1"]
for enc in encodings:
try:
with open(file, encoding=enc) as f:
text = f.read()
break
except UnicodeDecodeError:
continue
处理逻辑写清楚,保存时注意区分“覆盖原文件”和“输出到新位置”。强烈建议默认输出到 output/ 子目录,避免误删原始数据。
import re
for file in files:
# 读取
text = read_text_safely(file) # 上一步封装好的函数
# 处理
text = re.sub(r" +", " ", text)
text = "\n".join(line.strip() for line in text.splitlines())
# 保存到 output 目录(自动创建)
out_path = Path("output") / file.name
out_path.parent.mkdir(exist_ok=True)
out_path.write_text(text, encoding="utf-8")
file.relative_to(root) 构造输出路径:root = Path(".")
out_path = Path("output") / file.relative_to(root)几百个文件跑一半报错就中断?加 try/except 捕获单个文件异常,并记录日志;用 tqdm 显示进度条(pip install tqdm)提升体验。
from tqdm import tqdm
success, failed = 0, []
for file in tqdm(files, desc="Processing"):
try:
process_and_save(file)
success += 1
except Exception as e:
failed.append((str(file), str(e)))
print(f"完成 {success}/{len(files)},失败 {len(failed)} 个")
if failed:
with open("report.txt", "w", encoding="utf-8") as f:
for path, err in failed:
f.write(f"{path}\t{err}\n")
基本上就这些。不复杂但容易忽略细节:编码容错、路径安全、错误隔离、输出分离。把每步拆成小函数(如 read_text_safely()、clean_text()、save_to_output()),后续改需求或加新格式(比如支持 Excel 或 JSONL)就非常顺手。
# excel
# python
# js
# json
# 编码
# app
# csv
# ai
# 数据清洗
相关文章:
代购小票制作网站有哪些,购物小票的简要说明?
营销式网站制作方案,销售哪个网站招聘效果最好?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
已有域名建站全流程解析:网站搭建步骤与建站工具选择
高防服务器租用如何选择配置与防御等级?
如何用美橙互联一键搭建多站合一网站?
如何选择建站程序?包含哪些必备功能与类型?
建站之星如何助力网站排名飙升?揭秘高效技巧
建站之星×万网:智能建站系统+自助建站平台一键生成
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
大连网站制作公司哪家好一点,大连买房网站哪个好?
建站DNS解析失败?如何正确配置域名服务器?
IOS倒计时设置UIButton标题title的抖动问题
如何制作算命网站,怎么注册算命网站?
如何在阿里云部署织梦网站?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
高性能网站服务器部署指南:稳定运行与安全配置优化方案
建站上传速度慢?如何优化加速网站加载效率?
XML的“混合内容”是什么 怎么用DTD或XSD定义
宿州网站制作公司兴策,安徽省低保查询网站?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
b2c电商网站制作流程,b2c水平综合的电商平台?
网站制作难吗安全吗,做一个网站需要多久时间?
家庭服务器如何搭建个人网站?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
长沙做网站要多少钱,长沙国安网络怎么样?
制作网站怎么制作,*游戏网站怎么搭建?
如何获取开源自助建站系统免费下载链接?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
常州自助建站工具推荐:低成本搭建与模板选择技巧
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
如何设置并定期更换建站之星安全管理员密码?
如何在云主机上快速搭建多站点网站?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
贸易公司网站制作流程,出口贸易网站设计怎么做?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
如何在Golang中指定模块版本_使用go.mod控制版本号
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
建站主机选哪家性价比最高?
如何快速完成中国万网建站详细流程?
安云自助建站系统如何快速提升SEO排名?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。