用python根据Excel指定的映射序列将某文件夹下的文件重命名
任务
在F盘下的pic文件夹里有一批图片2021001.jpg、2021002.jpg、2021003.jpg…等工号的照片
现在要求将图片按照以下映射全部重命名
原名称 | 重命名后的名称 |
---|---|
2021001.jpg | 2021001_张三.jpg |
2021002.jpg | 2021002_李四.jpg |
2021003.jpg | 2021003_王五.jpg |
2021004.jpg | 2021004_赵六.jpg |
… | … |
相关模块
- os模块
这里主要用到os.rename
函数 - xlrd模块
实现代码
import os
import xlrd
dirpath = r'F:\pic' #存放图片的文件夹
datapath = r'F:\rename.xls' #excel表路径
x1 = xlrd.open_workbook(datapath) #读取excel
sheet1 = x1.sheet_by_name("Sheet1") #读取sheet1
idlist = sheet1.col_values(1) #存放第2列,该列保存文件的原名称
xylist = sheet1.col_values(2) #存放第3列,该列保存文件的新名称
file_names = os.listdir(dirpath) #获取文件夹下所有图片名称
for i in idlist:
for j in file_names:
if i == j:
xy = xylist[idlist.index(i)]
#print(xy)
os.renames(os.path.join(dirpath, i), os.path.join(dirpath, xy)) #重命名