繁体   English   中英

如何在 Linux 中使用 python 打开/读取受密码保护的 xls 或 xlsx (Excel) 文件?

[英]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 库( openpyxlxlrd等)。

     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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM