使用 pandas 加载 xls 文件失败

Load xls files with pandas is failed

我正在尝试使用 pandas 加载 xls 文件:

pd.read_excel(fi_name, sheet_name=None, engine=None)

但是我得到这个错误:

"XLRDError: Workbook is encrypted"

但是文件没有加密,我可以用excel打开它,用tika包读取文件的文本。

有人知道我该如何解决吗?

此外,有没有人知道一个 python 包来读取所有 excel 文件格式, 即使 pandas 失败了 ?

谢谢

我猜,我找到了解决你问题的东西:

import msoffcrypto

file = msoffcrypto.OfficeFile (open ('encrypted.xls', 'rb')) # read the original file
file.load_key (password = 'VelvetSweatshop') # Fill in the password, if it can be opened directly, the default password is 'VelvetSweatshop'
file.decrypt (open ('decrypted.xls', 'wb')) # Save it as a new file after decryption

之后就可以使用xlrd正常打开和操作解密后的文件了

你可以用

安装这个包
pip install msoffcrypto

你可以看到完整的文档here

这可能有 2 个原因:

  1. 您获取的文件与文件扩展名所用的文件格式不同。

  2. 整个工作簿或其中的一个 sheet 受密码保护,因此从中读取的数据被加密以保护数据。