赞
踩
一位在校当老师的同学遇到了一个需求,学生1寸照片是以学生姓名命名,现在需要重命名1寸照片,重命名为exel里对应的学生姓名的身份证号码,我心想这个需求很容易实现,照片有上百近千张如果手动修改那是很痛苦很低效的,用python就能很轻松的解决这个问题。格式图片如下:
学生图片都是以名字命名,所以要读取表格里的姓名列、证件号码列,然后读取目录下图片的名称与表格姓名列进行对比,对比成功就修改对应的证件号码。
先安装一下pandas库,用于读取表格数据。
pip isntall pandas
直接上代码:
import pandas as pd import os import re import argparse # 获取目录下的excel文件 def getExcel(dataPath, excelPath): for maindir, subdir, file_name_list in os.walk(excelPath): for filename in file_name_list: data = {} apath = os.path.join(maindir, filename) file_path = apath.replace("\\", "/") df = pd.read_excel(file_path) df = pd.DataFrame(df, columns=['姓名', '证件号码']) for i in df.values: data[i[0]] = i[1] print(data) modifyName(data, dataPath) # 修改文件名 def modifyName(data, dataPath): try: for maindir, subdir, file_name_list in os.walk(dataPath): for filename in file_name_list: try: apath = os.path.join(maindir, filename) file_path = apath.replace("\\", "/") student_name = filename.strip(".jpg") p = re.compile(r"(.*)/") filepath = p.match(file_path).group(1) new_file_name = filepath + "/" + \ data[student_name] + ".jpg" print("[+] 修改成功", file_path, new_file_name) os.rename(file_path, new_file_name) except Exception as e: print("error:", e) print("[-] 请检查:", student_name, "是否存在对应身份证号码。", "文件路径:", file_path) continue except Exception as e: print("error:", e) if __name__ == "__main__": example_text = """ python modifyFileName.py -d d:\data -e d:\excel """ try: parser = argparse.ArgumentParser( description=example_text, formatter_class=argparse.RawTextHelpFormatter ) parser.add_argument("-d", "--data", required=True) parser.add_argument("-e", "--excel", required=True) args = parser.parse_args() data = args.data excel = args.excel getExcel(data, excel) except: pass
直接给代码的话他还需要安装python与相应的库,为了解决让他开箱即用的问题,用我们之前学的pyinstaller来打包成exe,这样就可以直接运行了。
pyinstaller -F modifyFileName.py
pyinstaller教学链接:
https://blog.csdn.net/syl321314362/article/details/127619571
最后运行结果:
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,Python自动化测试学习等教程。带你从零基础系统性的学好Python!
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
上述这份完整版的Python全套学习资料已经上传CSDN官方,如果需要可以微信扫描下方CSDN官方认证二维码 即可领取
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/817013
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。