用python根据Excel指定的映射序列将某文件夹下的文件重命名

用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))     #重命名

你可能感兴趣的:(办公自动化,python)