python - 错误 : Unsupported format, 或损坏的文件:预期的 BOF 记录;发现 b'<## NASC'

标签 python excel pandas xlrd

我正在尝试将 Excel 表格读入 DataFrame。

import pandas as pd
df = pd.read_excel(r'E:\Impact\10_VD_Check-180619-004_testfile.xlsx')`

但是我报错了,是不是公司防火墙的问题??

xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'<## NASC'

最佳答案

是的,你是对的。这是由于贵公司的 DRM 软件称为 NASCA。它根据您公司的加密策略对文件进行加密。通常,该软件会在打开/保存 excel 文件时加密 excel 文件,然后在它离开您的计算机时对其进行解密,例如如果您通过电子邮件将其发送给某人。

Pandas、xlrd 或我发现的任何其他 python 库/模块均不支持读取(或写入)加密的 excel 文件。

它可能不适用于您的情况,但我发现 NASCA 不会加密文件,除非它们被打开 - 不过,这种行为可能取决于您公司的加密政策。例如。通过浏览器或 FTP 客户端从 SAP 下载 excel 文件;该文件未加密,只要您不在 excel 中打开它,您就可以对其进行读取和写入。

关于python - 错误 : Unsupported format, 或损坏的文件:预期的 BOF 记录;发现 b'<## NASC',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51960562/

相关文章:

python - 在多索引数据框中查找列的最大值并返回其所有值

python - 将元数据添加到 tensorflow 卡住图 pb

python - Selenium 'WebElement' 对象没有属性 'Get_Attribute'

java - python 从套接字接收

excel - 在字符串中的数字中插入冒号

python - 计算 Pandas 数据框行中的非空单元格并将计数添加为列

python - 使用 Python 删除特定单词后的多行

java - Apache POI (excel) 执行 getSheet() 与 createSheet()

java - 如何使用 Apache POI 为 .xlsx 文件中的所有单元格将空白返回为 null?

pandas - 在多列中查找字符串?