日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2024/3/26 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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表格批量替换文件名的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。