使用 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 个原因:
您获取的文件与文件扩展名所用的文件格式不同。
整个工作簿或其中的一个 sheet 受密码保护,因此从中读取的数据被加密以保护数据。
我正在尝试使用 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 个原因:
您获取的文件与文件扩展名所用的文件格式不同。
整个工作簿或其中的一个 sheet 受密码保护,因此从中读取的数据被加密以保护数据。