python - 错误:不支持的格式,或损坏的文件:预期的 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'
解决方案
是的,你是对的。这是由于贵公司的 DRM 软件称为 NASCA。它根据您公司的加密策略加密文件。通常,该软件会在打开/保存 excel 文件时加密 excel 文件,然后在它离开您的计算机时将其解密,例如,如果您通过电子邮件将其发送给某人。
Pandas、xlrd 或我发现的任何其他 python 库/模块都支持读取(或写入)加密的 excel 文件。
它可能不适用于您的情况,但我发现 NASCA 不会加密文件,除非它们被打开 - 不过,这种行为可能取决于您公司的加密策略。例如,通过浏览器或 FTP 客户端从 SAP 下载 excel 文件;该文件未加密,只要您不在excel中打开它,您就可以对其进行读写。
推荐阅读
- python - Linux - Pyinstaller 错误“无法执行脚本” - 将 Python 转换为 ELF 可执行文件
- javascript - 寻找更有效的方法来计算两个输入字段的值
- mysql - 即使没有对表进行任何更改,启动和提交 MySQL 事务是否有很大的成本?
- vue.js - 在字符串文字上使用带有切片的 v-if
- c++ - C++ 读取键盘事件
- asp.net-core - 如何让 IdentityServer 与 AddDbContextPool 一起使用
- github - 在 PR 上使用的 Github Actions 分支
- javascript - 将字符串化的变量列表转换为 Javascript 中的字符串化变量列表
- azure - 如何使用 az cli 列出存储 blob url?
- python - 如何连接元组并将其放入单个项目列表中?