[英]How to open / read password protected xls or xlsx (Excel) file using python in Linux?
我想使用 python 打開受密碼保護的 xls 或 xlsx。 通常我使用 xlrd 來處理 xls 或 xlsx 文件,但它無法打開受密碼保護的 excel 文件。 我嘗試使用 pywin32,但無法在我的 Linux 系統上安裝它。
它不需要安裝 Excel,而且因為它是純 Python,所以它也是跨平台的!
msoffcrypto-tool支持受密碼保護(加密)的 Microsoft Office 文檔,包括舊的 XLS 二進制文件格式。
安裝 msoffcrypto 工具:
pip install msoffcrypto-tool
您可以從命令行創建工作簿的未加密版本:
msoffcrypto-tool Myfile.xlsx Myfile-decrypted.xlsx -p "caa team"
或者,您可以使用 msoffcrypto-tool 作為庫。 雖然您可以像上面一樣將未加密的版本寫入磁盤,但您可能更喜歡創建一個解密的內存文件並將其傳遞給您的 Python Excel 庫( openpyxl
、 xlrd
等)。
import io import msoffcrypto import openpyxl decrypted_workbook = io.BytesIO() with open('Myfile.xlsx', 'rb') as file: office_file = msoffcrypto.OfficeFile(file) office_file.load_key(password='caa team') office_file.decrypt(decrypted_workbook) # `filename` can also be a file-like object. workbook = openpyxl.load_workbook(filename=decrypted_workbook)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.