如何运行Python代码实现基于Excel匹配批量重命名PDF文件
批量PDF重命名:修正代码+运行步骤
先修正你的代码(原代码存在缩进错误、列索引错误、路径硬编码等问题)
from pathlib import Path import xlrd def rename_file(file_to_rename, source_file): p = Path(file_to_rename) filename = p.stem # 获取不带后缀的PDF原文件名 # 打开传入的Excel匹配表 wb = xlrd.open_workbook(source_file) sheet = wb.sheet_by_index(0) # 遍历Excel行,匹配原文件名并重命名 for row_num in range(sheet.nrows): row_value = sheet.row_values(row_num) # 第一列是原文件名(索引0),第二列是新文件名(索引1) if row_value[0] == filename: new_filename = row_value[1] # 重命名时保留原PDF后缀 p.rename(Path(p.parent, f"{new_filename}{p.suffix}")) print(f"已完成:{filename} → {new_filename}") break else: print(f"未找到匹配项:{filename}") def get_paths_in_directory(directory): return Path(directory).glob('*.pdf') if __name__ == "__main__": # 替换成你实际的文件路径,注意Excel后缀要和实际一致(.xls/.xlsx) source_file = r'C:\Users\Chris Lee\Desktop\File_Rename_Python\Matched Results.xls' source_directory = r'C:\Users\Chris Lee\Desktop\File_Rename_Python' # 遍历目录下所有PDF文件并处理 paths = get_paths_in_directory(source_directory) for file_to_rename in paths: rename_file(str(file_to_rename), source_file)
运行步骤
安装依赖
打开命令提示符(Win+R输入cmd),运行对应命令:- 如果Excel是
.xls格式:pip install xlrd - 如果Excel是
.xlsx格式:pip install xlrd2(xlrd旧版本不支持xlsx)
- 如果Excel是
准备文件
确保目标文件夹C:\Users\Chris Lee\Desktop\File_Rename_Python里有:- 所有待重命名的PDF文件
- 名为
Matched Results.xls(或.xlsx)的Excel文件,第一列是PDF原文件名(不带.pdf后缀),第二列是期望的新文件名
保存代码
把上面修正后的代码复制到记事本,保存为rename_pdfs.py,直接放在目标文件夹里即可执行代码
打开命令提示符,切换到目标文件夹:cd C:\Users\Chris Lee\Desktop\File_Rename_Python然后运行代码:
python rename_pdfs.py
注意事项
- 运行前务必备份所有PDF和Excel文件,避免重命名出错无法恢复
- 确保Excel里的原文件名和PDF实际文件名(不带后缀)完全一致,大小写也要匹配
- 如果
python命令报错,试试用python3代替,或者检查Python是否已添加到系统环境变量
内容的提问来源于stack exchange,提问作者ShreddedScientist
相关产品推荐
相关产品推荐

