excelperfect 標(biāo)簽:Python 如果碰到加密的Excel文件,則會(huì)很麻煩,。在本文中,,將展示如何使用Python刪除Excel文件密碼。 同樣,,如果收到很多加密的Excel文件,,即使知道密碼,也要在打開每個(gè)文件時(shí)都要輸入密碼,,非常繁瑣,。如果能夠自動(dòng)處理,豈不更好,! 庫(kù) 要?jiǎng)h除Excel文件的密碼,,將使用msoffcrypto庫(kù)??梢允褂?/span>pip來(lái)安裝庫(kù),,注意用于安裝的名稱是msoffcrypto-tool。 pip install msoffcrypto-tool 獲取文件名 使用pathlib庫(kù)獲取所有Excel文件的文件路徑,。注意,,.iterdir()將遍歷文件夾中的所有內(nèi)容,包括文件和目錄。只需要添加核對(duì)只是抓取.xlsx文件,。 pathlib.glob('*.xlsx’)方法返回與格式’*.xlsx’匹配的所有路徑,,即任何以’.xlsx’結(jié)尾的文件路徑,或者說(shuō)是Excel文件,。 import pathlib url= pathlib.Path(r’D:\test\remove_excel_password’) excel_flies= list(url.glob('*.xlsx’)) 使用Python刪除Excel密碼 msoffcrypto庫(kù)有兩個(gè)關(guān)鍵方法:load_key和decrypt,。 load_key():準(zhǔn)備密碼 decrypt():通過(guò)刪除密碼解鎖文件,然后將文件保存到磁盤 繼續(xù)使用文件路徑列表,。注意,,所有Excel文件都使用相同的密碼“123”,確保在測(cè)試代碼時(shí)將其替換為實(shí)際的密碼,。 注意,,下面的函數(shù)將使用二進(jìn)制模式“rb”在Python中打開每個(gè)密碼加密的Excel文件。然后,,它將刪除密碼(通過(guò)解密),,并將文件保存到一個(gè)新的位置output_folder中。 def unlock(filename, passwd, output_folder): temp = open(filename, 'rb’) excel = msoffcrypto.OfficeFile(temp) excel.load_key(passwd) out_path = pathlib.Path(output_foler) if not out_path.exists(): out_path.mkdir() with open(str(out_path/filename.name), 'wb’)as f: excel.decrypt(f) temp.close() 因?yàn)槭褂玫氖?/span>pathlib,,每個(gè)filename實(shí)際上都是一個(gè)pathlib對(duì)象,,為了從對(duì)象中獲取文件名,可以調(diào)用.name屬性,,返回文件名的字符串值,。 注意,.load_key()方法只準(zhǔn)備密碼,,而不會(huì)解鎖文件,。decrypt()解鎖文件,然后將文件保存到磁盤,。 將代碼放在一起 注:本文學(xué)習(xí)整理自pythoninoffice.com,。 歡迎在下面留言,完善本文內(nèi)容,,讓更多的人學(xué)到更完美的知識(shí),。 歡迎到知識(shí)星球:完美Excel社群,進(jìn)行技術(shù)交流和提問(wèn),,獲取更多電子資料,,并通過(guò)社群加入專門的微信討論群,更方便交流,。 完美Excel視頻號(hào)
|