Python批量遍历处理多CSV文件去除换行并生成对应命名新文件
多CSV批量移除换行符实现方案
核心逻辑
完全复用已有单文件处理的逐行替换规则,通过循环遍历目标文件清单,按要求生成带new_前缀的输出文件,实现要点:
- 匹配目录下指定的5个目标CSV,避免误处理其他文件
- 每个原文件自动拼接符合规则的输出文件名,确保生成文件严格对齐
new_月份年份.csv的命名要求 - 保持原代码「逐行读取、替换
\r字符、写入新文件」的核心处理流程,不改动已验证过的处理效果
可直接运行代码
固定匹配目标文件版本(适配5个指定文件)
# 原代码导入的csv模块未实际调用,可移除冗余导入 target_csvs = ['jan2020.csv', 'feb2020.csv', 'march2020.csv', 'april2020.csv', 'may2020.csv'] for src_file in target_csvs: # 拼接输出文件名,严格匹配命名格式 output_file = f'new_{src_file}' with open(src_file, 'r', encoding='utf-8') as f_in: with open(output_file, 'w', encoding='utf-8') as f_out: for line in f_in.readlines(): # 与原逻辑完全一致,移除文件内的\r字符 processed_line = line.replace('\r', '') f_out.write(processed_line)
自动扫描目录优化版本
后续新增同规则的月份CSV时,无需手动维护文件清单,可自动匹配当前目录下的原始CSV(自动跳过已生成的带new_前缀的输出文件):
import os # 筛选目录下所有非new_开头的CSV文件 target_csvs = [ file for file in os.listdir('.') if file.endswith('.csv') and not file.startswith('new_') ] for src_file in target_csvs: output_file = f'new_{src_file}' with open(src_file, 'r', encoding='utf-8') as f_in: with open(output_file, 'w', encoding='utf-8') as f_out: for line in f_in.readlines(): processed_line = line.replace('\r', '') f_out.write(processed_line)
补充说明
- 原代码中导入的
csv模块未在当前流程中实际使用,可直接删除该冗余导入减少加载开销 - 显式指定
encoding='utf-8'参数,可避免不同操作系统默认编码差异导致的文件读写出错、中文乱码问题 - 整个流程不会修改原始CSV文件,所有处理结果都写入独立新文件,无原始数据覆盖风险
内容的提问来源于stack exchange,提问作者DaveSwans
相关产品推荐
相关产品推荐

