首页 > 解决方案 > 错误:不支持的格式,或损坏的文件:预期的 BOF 记录;找到 b'<## NASC'

问题描述

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

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

但是我得到了错误。是由于公司的防火墙吗?

xlrd.biffh.XLRDError:不支持的格式,或损坏的文件:预期的 BOF 记录;找到 b'<## NASC'

标签: pythonexcelpandasxlrd

解决方案


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

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

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


推荐阅读