将excel中单元格的数据给图片命名(按学籍给图片重命名) |
您所在的位置:网站首页 › 如何对access表重命名 › 将excel中单元格的数据给图片命名(按学籍给图片重命名) |
前言 在学籍管理中,我们导出学籍后(姓名 学籍号 身份证号)等常用的信息。如何按照学籍信息和对应学生的照片进行命名呢? 首先来看看效果如上,假设我们根据学籍信息(由A-Z排序),拍摄学生照片。如何将excel中对应的学生姓名和学号与对应的学生匹配并重命名呢? 最终实现的效果 问题解决难点将excel中数据和图片一一对应是关键。故要求我们在拍摄照片时需按照学生姓名(由A-Z排序)进行拍摄。不然数据可能无法一一对应。 实现方案01对拍摄的所有文件批量重命名因为照相设备的不同,拷贝出来相片的命名方式是不同的。 如上,按照学生姓名(由A-Z排序)后,给学生拍照。 将所有图片进行批量重命名 代码语言:javascript复制import os class BatchRename(): def __init__(self): self.path = '/root/photo/photo1/' def rename(self): filelist = os.listdir(self.path) filelist.sort() total_num = len(filelist) i = 0 for item in filelist: if item.endswith('.jpg'): src = os.path.join(os.path.abspath(self.path), item) s = str(i) s = s.zfill(3) dst = os.path.join(os.path.abspath(self.path), s + '.jpg') try: os.rename(src, dst) print ('converting %s to %s ...' % (src, dst)) i = i + 1 except: continue print ('total %d to rename & converted %d jpg' % (total_num, i)) if __name__ == '__main__': demo = BatchRename() demo.rename()效果如下: 部分代码解读 self.path = '/root/photo/photo1/' 相片文件的位置 s = s.zfill(3) 文件名位数,这里是3位,即xxx.jpg 02匹配excel中数据进行重命名操作代码如下: 代码语言:javascript复制# encoding: utf-8 import os import xlrd count = 1 path = "/root/photo/photo1/" #文件所在文件夹 expath = "/root/photo/info.xlsx"#名单所在文件夹 x1 = xlrd.open_workbook(expath)#读取excel sheet1 = x1.sheet_by_name("Sheet1")#读取sheet1 idlist = sheet1.col_values(0)#存放第一列 xylist = sheet1.col_values(1)#存放第二列 filelist = os.listdir(path)#读取文件目录 filelist.sort(key=lambda x:int(x[:-4])) for files in filelist:#遍历文件目录 Olddir = os.path.join(path,files)#旧的文件位置 #os.renames(Olddir,os.path.join(path,str(xylist[count]+".jpg"))#新的文件位置 os.rename(Olddir,os.path.join(path,str(idlist[count])+str(xylist[count])+".jpg")) count = count + 1部分代码解读 filelist.sort(key=lambda x:int(x[:-4]))解决os.listdir()乱排序问题,-4按照前4位进行排序,防止乱序。 运行效果 方案二利用批处理实现(适用于没有python环境的用户) 首先将图片批量重命名,然后将图片名称放到excel中。 在批处理中输入公式 代码语言:javascript复制="ren "&E2&".jpg "&A2&B2&".jpg"E2为原图片名称所在单元格 将结果复制出来,在txt中另存为bat文件,注意编码格式为ANSI不然汉字会乱码。 运行效果版权属于:逍遥子大表哥 本文链接:https://cloud.tencent.com/developer/article/1921464 按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |