如何用Python批量重命名文件夹内.csv文件,删除前缀保留下划线后日期
Python实现csv文件批量重命名(移除前缀保留日期)
重要提示:操作前建议先备份所有csv文件,避免误操作导致文件丢失。可以先把代码中实际执行重命名的行注释掉,先打印待修改的文件名确认逻辑无误后再执行。
实现该功能只需要用到Python标准库,无需安装第三方依赖,核心逻辑如下:
- 遍历目标文件夹下所有后缀为
.csv的文件 - 对每个符合命名规则的文件名,按下划线分割,取日期部分作为新文件名
- 新增重复名校验逻辑,避免覆盖已有文件
完整代码如下:
import os import glob # 替换为你实际存储csv文件的文件夹路径 folder_path = "./your_csv_folder" # 遍历目标路径下所有csv文件 for csv_file in glob.glob(os.path.join(folder_path, "*.csv")): # 提取纯文件名(不含路径) file_name = os.path.basename(csv_file) # 分离文件名主体和后缀 name_part, ext = os.path.splitext(file_name) if "_" in name_part: # 按下划线分割取最后一段作为新文件名主体,适配多个下划线的情况 # 若只需分割第一个下划线、保留后面所有内容,可替换为 name_part.split("_", 1)[1] new_name_part = name_part.split("_")[-1] new_file_name = f"{new_name_part}{ext}" new_file_path = os.path.join(folder_path, new_file_name) # 重名校验,避免覆盖文件 if os.path.exists(new_file_path): print(f"跳过文件 {file_name}:目标文件名 {new_file_name} 已存在") continue # 确认打印的重命名规则符合预期后,取消下一行注释即可执行重命名 # os.rename(csv_file, new_file_path) print(f"待重命名:{file_name} -> {new_file_name}") else: print(f"跳过文件 {file_name}:文件名不含下划线,不符合命名规则")
使用说明:
- 先将
folder_path参数替换为你实际的文件夹路径,支持绝对路径和相对路径 - 第一次运行保持
os.rename行注释状态,查看控制台打印的重命名映射是否符合预期 - 确认逻辑无误后,取消
os.rename行的注释,再次运行即可完成批量重命名
内容的提问来源于stack exchange,提问作者Sabir
相关产品推荐
相关产品推荐

