Python修改CSV文件名:在.csv后缀前追加自动生成的数字
Python 批量给CSV文件名追加数字后缀实现方案
核心实现完全基于已安装的os库,不需要提前预知原文件名的[someword]部分,通过路径拆分方法自动提取原文件名主体即可。
实现逻辑
- 定位到存放CSV文件的目标文件夹,遍历筛选所有
.csv后缀的文件 - 调用
os.path.splitext()方法自动拆分每个文件的名称主体和后缀,无需提前获知原文件名规则 - 按照业务规则生成需要追加的
[somenumber](示例用自增序号,可替换为时间戳、随机数等任意规则生成的数字) - 拼接为
[原文件名主体] [生成的数字].csv格式的新文件名,调用重命名接口完成操作 - 可选增加重复重命名校验逻辑,避免已经处理过的文件被二次追加数字
可直接运行的代码示例
import os # 替换为你实际存放CSV文件的文件夹路径 target_folder = "C:/user/desktop/somefolder" # 数字初始值,可根据需求修改,若不需要自增序号可替换为其他数字生成逻辑 append_num = 1 for file_name in os.listdir(target_folder): # 仅处理.csv格式文件 if file_name.lower().endswith(".csv"): # 自动拆分文件名主体和后缀,例:"test.csv"会拆分为("test", ".csv") name_base, name_suffix = os.path.splitext(file_name) # 可选校验:跳过已经追加过数字后缀的文件,避免重复处理,不需要可注释掉 name_parts = name_base.split() if len(name_parts) > 1 and name_parts[-1].isdigit(): continue # 拼接新文件名 new_file_name = f"{name_base} {append_num}{name_suffix}" # 拼接完整路径,避免斜杠格式不兼容问题 old_full_path = os.path.join(target_folder, file_name) new_full_path = os.path.join(target_folder, new_file_name) # 执行重命名 os.rename(old_full_path, new_full_path) # 自增序号逻辑,如果你的数字不需要递增,删掉下面这行即可 append_num += 1
自定义调整说明
如果需要替换数字生成规则,直接修改
append_num相关逻辑即可,文件名拆分和拼接部分不需要改动:
- 要追加时间戳:导入
time模块后,用append_num = str(int(time.time()))生成时间戳数字- 要追加随机数:导入
random模块后,用append_num = str(random.randint(1000,9999))生成指定位数随机数- 要追加固定值:直接给
append_num赋值你需要的固定数字即可
内容的提问来源于stack exchange,提问作者greens trial
相关产品推荐
相关产品推荐

