python脚本重命名文件
代码如下:
import os
import pandas as pd
def rename_files_based_on_excel(excel_path, folder_path, id_column='id', old_name_column='ori_name', new_name_column=None):
# 读取Excel文件
df = pd.read_excel(excel_path)
# 获取文件夹中的所有文件
files = os.listdir(folder_path)
# 如果没有指定新的名称列,则默认使用ID列作为新文件名
if not new_name_column:
new_name_column = id_column
# 遍历DataFrame中的每一行
for index, row in df.iterrows():
old_file_name = None
# 尝试找到文件名中包含ID的文件
for file in files:
if str(row[old_name_column]) in file:
old_file_name = file
break
# 如果找到了匹配的文件,则重命名
if old_file_name is not None:
# 构建新的文件名,保持原有的扩展名
file_extension = os.path.splitext(old_file_name)[1]
new_file_name = f"{str(row[new_name_column]).strip()}{file_extension}"
# 确保新旧文件名不同
if old_file_name != new_file_name:
old_file_path = os.path.join(folder_path, old_file_name)
new_file_path = os.path.join(folder_path, new_file_name)
try:
os.rename(old_file_path, new_file_path)
print(f'Renamed: {old_file_name} -> {new_file_name}')
except Exception as e:
print(f'Could not rename {old_file_name}: {e}')
# 使用函数,提供Excel路径、文件夹路径、ID列名以及可选的新名称列名
excel_path = r'C:\Users\xxx\Downloads\text.xls'
folder_path = r'C:\Users\xxx\Downloads\origin'
rename_files_based_on_excel(excel_path, folder_path, 'id', 'ori_name', 'new_name')
text.xls中设置 id ori_name(原名称) new_name(新名称) 列
THE END
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现