基于CSV文件批量重命名图片并保存至指定文件夹
批量重命名图片并迁移到指定文件夹
需求说明
现有一个文件夹内的图片,文件名与某CSV文件的「old_name」列一一对应,需要将每张图片重命名为CSV中对应的「new_name」,并保存到另一指定文件夹。CSV结构包含两列:old_name(原图片文件名)、new_name(目标文件名)。
实现步骤
安装依赖
用pandas读取CSV,shutil处理文件复制,先安装pandas:pip install pandasPython代码实现
替换代码中的路径为你的实际路径后运行:import pandas as pd import os import shutil # 替换为你的实际路径 source_img_dir = "原图片文件夹路径" csv_file_path = "CSV文件路径" target_img_dir = "目标文件夹路径" # 创建目标文件夹(不存在则自动创建) os.makedirs(target_img_dir, exist_ok=True) # 读取CSV里的文件名映射关系 name_mapping = pd.read_csv(csv_file_path) # 遍历处理每一张图片 for _, row in name_mapping.iterrows(): old_name = row["old_name"] new_name = row["new_name"] source_path = os.path.join(source_img_dir, old_name) target_path = os.path.join(target_img_dir, new_name) # 检查原文件存在再处理,避免报错 if os.path.exists(source_path): shutil.copy2(source_path, target_path) print(f"已完成:{old_name} → {new_name}") else: print(f"警告:未找到文件 {old_name}")注意事项
- 确保CSV中
old_name与原图片文件名完全一致(包括扩展名,比如.jpg、.png) - 目标文件夹若存在同名文件,会被覆盖,运行前请确认
- 若需要移动而非复制图片,将
shutil.copy2替换为shutil.move即可
- 确保CSV中
内容的提问来源于stack exchange,提问作者shiva
相关产品推荐
相关产品推荐

