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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

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

發(fā)布時(shí)間:2024/3/26 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实战-读取xlsx表格批量替换文件名 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

        • 一、前言
        • 二、解決思路
        • 三、具體代碼實(shí)現(xiàn)
        • 四、總結(jié)

一、前言

???一位在校當(dāng)老師的同學(xué)遇到了一個(gè)需求,學(xué)生1寸照片是以學(xué)生姓名命名,現(xiàn)在需要重命名1寸照片,重命名為exel里對(duì)應(yīng)的學(xué)生姓名的身份證號(hào)碼,我心想這個(gè)需求很容易實(shí)現(xiàn),照片有上百近千張如果手動(dòng)修改那是很痛苦很低效的,用python就能很輕松的解決這個(gè)問(wèn)題。格式圖片如下:



二、解決思路

???學(xué)生圖片都是以名字命名,所以要讀取表格里的姓名列、證件號(hào)碼列,然后讀取目錄下圖片的名稱與表格姓名列進(jìn)行對(duì)比,對(duì)比成功就修改對(duì)應(yīng)的證件號(hào)碼。

三、具體代碼實(shí)現(xiàn)

先安裝一下pandas庫(kù),用于讀取表格數(shù)據(jù)。

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=['姓名', '證件號(hào)碼'])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("[-] 請(qǐng)檢查:", student_name,"是否存在對(duì)應(yīng)身份證號(hào)碼。", "文件路徑:", 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與相應(yīng)的庫(kù),為了解決讓他開(kāi)箱即用的問(wèn)題,用我們之前學(xué)的pyinstaller來(lái)打包成exe,這樣就可以直接運(yùn)行了。

pyinstaller -F modifyFileName.py

pyinstaller教學(xué)鏈接:

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

最后運(yùn)行結(jié)果:


四、總結(jié)

關(guān)注我,微信搜索藝說(shuō)IT公眾號(hào),學(xué)習(xí)更多技術(shù)干貨,對(duì)你有幫助請(qǐng)點(diǎn)個(gè)贊,感謝各位帥哥美女。`

總結(jié)

以上是生活随笔為你收集整理的python实战-读取xlsx表格批量替换文件名的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。