[英]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.