import os
import shutil
import pandas as pd
import re
# 定义变量:excel 文件
excelname = r'E:\aaa.xls'
# pdf文档所在的目录
dirPath = r'E:/重命名前/'
def rename_according_to_xlsx(excelname, dirPath):
data = pd.read_excel(excelname, sheet_name='Sheet1') # 读取同一个表格中指定 Sheet1 中的数据,不指定时直接默认读取到这个Excel的第一个表单
print(data)
# 遍历该文件夹所有的文件,并for循环
for name in os.listdir(dirPath):
# print(name)
name1 = re.sub(r'\d+', '', name)
# print(name)
# # 文件名加上文件夹构成绝对路径
before_file = os.path.join(dirPath, name)
# print(before_file)
# # 获取当前文件名所在行
name1 = name1[0:name1.find(".")]
print(name1)
index = data.loc[data['oldname'] == name1]
print("2=", index)
# # # 当前文件所对应的新名称
new_name = index['newname'].values
print(new_name)
# print(new_name[0])
# #
if len(new_name):
# # # index['code'].values 为当前文件名所对应的新名称
after_file = os.path.join(dirPath, new_name[0])
# #
# # # 利用shutil.move将文件移动到原来位置(重命名的效果)
shutil.move(before_file, after_file)
else:
break
print("根据excel内容所有文件名称修改完成!!!")
if __name__ == '__main__':
rename_according_to_xlsx(excelname,dirPath)