成功解决xlrd.biffh.XLRDError: Excel xlsx file; not supported

博客围绕Python3.8导入Excel文件报错问题展开。使用xlrd 2.0.1版本导入时提示不支持xlsx文件,原因是xlrd版本过高。解决方案是卸载旧版本,重新安装1.2.0版本,即通过pip install xlrd==1.2.0命令解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

Python3.8 

xlrd安装成功,版本:2.0.1

问题:

导入excel,提示:

raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
xlrd.biffh.XLRDError: Excel xlsx file; not supported

解决方案:

xlrd版本过高,卸载旧版本重新安装1.2.0

pip install xlrd==1.2.0

### 解决方案 当尝试使用 `xlrd` 处理 `.xlsx` 文件时,如果版本高于等于 2.0.0,则会遇到 `xlrd.biffh.XLRDError: Excel xlsx file; not supported` 错误。这主要是因为自该版本起,`xlrd` 停止了对 `.xlsx` 文件的支持[^1]。 为了克服这一局限并成功读取 `.xlsx` 文件,有多种替代方案可供选择: #### 方法一:采用 OpenPyXL 库 OpenPyXL 是专门用于处理 `.xlsx` 文件的强大工具之一。安装此库之后可以直接利用其功能来操作 Excel 文档而无需担心兼容性问题。 ```bash pip install openpyxl ``` 接着可以通过如下方式加载数据框: ```python import pandas as pd df = pd.read_excel('example.xlsx', engine='openpyxl') print(df) ``` 这种方法不仅解决了原生 `xlrd` 对于新格式文件支持不足的问题,同时也保留了 Pandas 提供的数据分析优势[^4]。 #### 方法二:降级 XLDR 版本至低于 2.0.0 另一种解决方案是回退到更早版本的 `xlrd` (即小于 2.0.0),这样就可以继续沿用原有的工作流程而不必更改太多现有代码逻辑。不过需要注意的是这样做可能带来安全性和性能上的隐患,并且长期来看并不是最优解法。 ```bash pip uninstall xlrd pip install "xlrd<2" ``` #### 方法三:转换文件格式为 .xls 或其他受支持格式 最后还可以考虑将目标文件另存为旧版 `.xls` 格式或其他任何由当前使用的解析器所接受的形式。然而这种方式通常较为繁琐而且容易丢失一些现代 Excel 功能特性,在实际应用中较少推荐使用。 综上所述,最理想的选择通常是切换到像 OpenPyXL 这样的现代化库来进行后续开发与维护活动。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值