欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

python实战-读取xlsx表格批量替换文件名

发布时间:2024/3/26 58 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python实战-读取xlsx表格批量替换文件名 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

        • 一、前言
        • 二、解决思路
        • 三、具体代码实现
        • 四、总结

一、前言

​  一位在校当老师的同学遇到了一个需求,学生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)continueexcept 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.dataexcel = args.excelgetExcel(data, excel)except:pass

​  直接给代码的话他还需要安装python与相应的库,为了解决让他开箱即用的问题,用我们之前学的pyinstaller来打包成exe,这样就可以直接运行了。

pyinstaller -F modifyFileName.py

pyinstaller教学链接:

https://blog.csdn.net/syl321314362/article/details/127619571

最后运行结果:


四、总结

关注我,微信搜索艺说IT公众号,学习更多技术干货,对你有帮助请点个赞,感谢各位帅哥美女。`

总结

以上是生活随笔为你收集整理的python实战-读取xlsx表格批量替换文件名的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。