今天上午,学校的教务老师突然找我,说请教个问题:他在整理往届学生资料的时候发现学生的照片是用身份证号命名的。

这样的命名方式虽然保证了文件名不会重复,但当你需要找某一张学生的照片存档时,这个命名真的会谢。于是就想着问问看有没有啥方便傻瓜的方法将图片和学生姓名直接对应起来。
整理一下:1、用户的需求:批量将身份证命名的图片文件转为姓名命名;2、程序的输入:excel文件,包含身份证和姓名对应信息;3、程序用到的库:pandas表格处理和os文件处理。
代码如下:

简单说明一下:前两行引入两个函数库,第三行读excel文件,第四行读当前文件夹所有文件名。进入循环后,将文件名按"."分成"文件名"和"后缀",再用"文件名"对表格进行筛选。其中值得注意的是身份证最后一位的"x"有些时候是大写,有些时候是小写,需要同时匹配。最后对匹配成功的文件进行重命名即可。

因为教务老师的电脑大概率没有安装python,所以还需要再将.py文件打包为.exe文件。使用时只需要将照片,exe工具,excel文件放到同一个文件夹下,双击就可以运行了。

事情进行到这我发现我其实做了一个批量文件重命名的工具,把excel的两列改为"旧文件名"和"新文件名",再对代码做对应的调整,这个程序就更具有通用性了。
文章转载自城小实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




