Python批量給excel文件加密的操作教程
一、安裝pypiwin32包
調(diào)用win32com.client,需先要安裝pypiwin32包。打開cmd,安裝語句如下:
pip install pypiwin32
若安裝成功,會顯示結(jié)果如下:
二、定義給excel加密的函數(shù)
我們先定義一個給單個excel加密的函數(shù),具體代碼如下:
import win32com.client #excel加密函數(shù) def pwd_xlsx(old_filename, new_filename, pwd_str, pw_str=''): ''' old_filename:舊文件名 new_filename:新文件名 pwd_str:保存的新文件密碼 pw_str:打開文件密碼,若無訪問密碼,則設(shè)為'' ''' xcl = win32com.client.Dispatch("Excel.Application") wb = xcl.Workbooks.Open(old_filename, False, False, None, pw_str) xcl.DisplayAlerts = False #關(guān)閉顯示告警對話框 wb.SaveAs(new_filename, None, pwd_str, '') #保存時可設(shè)置訪問密碼 xcl.Quit()
主要功能是輸入舊文件,生成新文件,并對新文件加密。
三、給單個excel加密
在批量加密之前,先調(diào)用上一節(jié)的函數(shù)對單個文件進(jìn)行加密。具體代碼如下:
filename = "F:\\公眾號\\71.excel自動加密\\train_u6lujuX_CVtuZ9i.csv" pwd_xlsx(filename,filename, '1111') # 三個參數(shù):待加密文件,加密后名稱,密碼
得到結(jié)果:
從上述pwd_xlsx函數(shù)調(diào)用語句可知,待加密文件和加密后文件是同一個,且設(shè)置的文件密碼是1111(密碼可根據(jù)需要自行設(shè)置)。即打開原始文件,保存新文件并加密。由于新文件和原始文件同名,實(shí)際是用加密后的新文件覆蓋了原始文件。
注意1: 我嘗試用os.chdir函數(shù)定義存儲原始文件的文件夾,在pwd_xlsx函數(shù)中只放文件名,結(jié)果報(bào)錯。
注意2: 該函數(shù)對excel文件可以加密,若輸入的是csv文件,雖然不會報(bào)錯,但是生成的文件并未加密。
若想加密后的文件不覆蓋原始文件,具體代碼如下:
old_filename = "F:\\公眾號\\71.excel自動加密\\date2.xlsx" new_filename = "F:\\公眾號\\71.excel自動加密\\date2_m.xlsx" pwd_xlsx(old_filename, new_filename, '123') # 三個參數(shù):待加密文件,加密后名稱,密碼
得到結(jié)果:
四、批量給excel加密
首先把需要加密的文件放到一個文件夾中,應(yīng)用如下程序可以獲取該文件夾中的所有文件名稱。
import os folder_path = "F:\\公眾號\\71.excel自動加密\\批量加密" #文件夾路徑 file_list = os.listdir(folder_path) #獲取文件夾中所有文件的文件名 for file_name in file_list: print(file_name) #打印文件夾中的文件名
得到結(jié)果:
pl_date1.xlsx pl_date1_m.xlsx pl_date2.xlsx pl_date3.xlsx pl_date4.xlsx pl_date5.xlsx
原始文件夾內(nèi)容如下:
可以發(fā)現(xiàn)兩者是一致的。接著調(diào)整一下上述代碼,生成原始文件路徑和名稱,以及新文件路徑和名稱,并批量調(diào)用加密函數(shù),生成加密文件,具體代碼如下:
import os folder_path = "F:\\公眾號\\71.excel自動加密\\批量加密" #文件夾路徑 file_list = os.listdir(folder_path) #獲取文件夾中所有文件的文件名 for file_name in file_list: old_filename = folder_path + '\\' + file_name #原始文件 new_filename = old_filename.replace('.xlsx', '_m.xlsx') #新加密文件 print(old_filename) print(new_filename) pwd_xlsx(old_filename, new_filename, '123') #調(diào)用加密函數(shù)對原始文件進(jìn)行加密并生成新文件,文件密碼123
得到結(jié)果:
至此,Python中批量給excel文件加密已講解完畢,感興趣的朋友可以自己跟著代碼嘗試一遍圖片。
以上就是Python批量給excel文件加密的操作教程的詳細(xì)內(nèi)容,更多關(guān)于Python excel文件加密的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python開發(fā)必知必會標(biāo)識符UUID全面使用指南
在Python編程中,UUID(通用唯一標(biāo)識符)是一個非常有用的工具,用于生成唯一的標(biāo)識符,本文將深入探討Python中UUID的用法、不同版本的UUID、以及如何在實(shí)際應(yīng)用中充分利用UUID的優(yōu)勢2023-12-12Python selenium模擬手動操作實(shí)現(xiàn)無人值守刷積分功能
這篇文章主要介紹了Python selenium模擬手動操作達(dá)到無人值守刷積分目的,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Django項(xiàng)目中實(shí)現(xiàn)使用qq第三方登錄功能
使用qq登錄的前提是已經(jīng)在qq互聯(lián)官網(wǎng)創(chuàng)建網(wǎng)站應(yīng)用并獲取到QQ互聯(lián)中網(wǎng)站應(yīng)用的APP ID和APP KEY。這篇文章主要介紹了Django項(xiàng)目中實(shí)現(xiàn)使用qq第三方登錄功能,需要的朋友可以參考下2019-08-08pycharm+django創(chuàng)建一個搜索網(wǎng)頁實(shí)例代碼
這篇文章主要介紹了pycharm+django創(chuàng)建一個搜索網(wǎng)頁實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Python pandas.DataFrame 找出有空值的行
這篇文章主要介紹了Python pandas.DataFrame 找出有空值的行,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09