简单且好用,目标是根据图片名称中的身份证号,从excel表里查找对应的学院,然后将学院名字加在图片名称前。
图片名称的前18位是身份证号,截取出来在excel中遍历,获取到对应的学院名,对图片重命名加在前面。
最后结果
用到os,xlrd两个库,os自带,xlrd直接执行命令行pip install xlrd进行安装。os用于读取文件名和重命名文件,xlrd用于读取excel的操作。
xlrd的使用:
https://www.cnblogs.com/zhang-jun-jie/p/9273721.html
整个过程代码如下
importos importxlrd dirpath = '/路径..../目标文件夹' #存放图片的文件夹datapath = '/路径..../dataset.xlsx' #excel表路径 x1 =xlrd.open_workbook(datapath) #读取excel sheet1 = x1.sheet_by_name("Sheet1") #读取sheet1 idlist =sheet1.col_values(0) #存放第一列 xylist = sheet1.col_values(1) #存放第二列 file_names =os.listdir(dirpath) #获取文件夹下所有图片名称 for i infile_names: id = i[:18] #截取前18位 if id inidlist: xy =xylist[idlist.index(id)] #print(xy) os.renames(os.path.join(dirpath, i), os.path.join(dirpath, xy +'-' +i)) #重命名