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

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

任务

在F盘下的pic文件夹里有一批图片2021001.jpg、2021002.jpg、2021003.jpg…等工号的照片
现在要求将图片按照以下映射全部重命名

原名称重命名后的名称
2021001.jpg2021001_张三.jpg
2021002.jpg2021002_李四.jpg
2021003.jpg2021003_王五.jpg
2021004.jpg2021004_赵六.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))     #重命名
    原文作者:Risam_
    原文地址: https://blog.csdn.net/xander_2016/article/details/118021611
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞