【Python】已解决:raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported’) xlrd.biffh.XLRD

简介: 【Python】已解决:raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported’) xlrd.biffh.XLRD

已解决:raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+‘; not supported’)

xlrd.biffh.XLRDError: Excel xlsx file; not supported

一、分析问题背景

数据分析和处理过程中,使用Python读取Excel文件是一个常见的任务。Pandas库结合xlrd库可以轻松地实现这一功能。然而,有时在尝试读取.xlsx格式的Excel文件时,可能会遇到如下错误:

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


场景描述:

该错误通常发生在使用Pandas的read_excel函数读取.xlsx文件时。用户可能期望读取Excel文件中的数据进行分析,但由于某些原因,程序抛出了上述错误。


代码片段:

假设你正在开发一个数据处理脚本,需要从一个.xlsx文件中读取数据。然而,运行代码时出现了错误。

二、可能出错的原因

导致此错误的原因主要有以下几种:

  1. xlrd版本问题:最新版本的xlrd(从2.0.0版本开始)不再支持.xlsx文件的读取,仅支持.xls文件。
  2. 不正确的文件格式:尝试使用不支持的库读取.xlsx文件。
  3. 数据类型不匹配:文件类型与实际文件内容不匹配。

三、错误代码示例

以下是一个可能导致该错误的代码示例:

import pandas as pd

# 尝试读取.xlsx文件
data = pd.read_excel('data.xlsx')

解释错误之处:

  • 从xlrd 2.0.0版本开始,不再支持读取.xlsx文件。如果使用最新版本的xlrd并尝试读取.xlsx文件,会抛出xlrd.biffh.XLRDError错误。

四、正确代码示例

为了正确解决该错误,可以选择以下两种解决方案:

  1. 使用openpyxl库:
    使用openpyxl库读取.xlsx文件,因为它支持.xlsx格式的Excel文件。
    import pandas as pd
# 使用openpyxl引擎读取.xlsx文件
data = pd.read_excel('data.xlsx', engine='openpyxl')

# 显示前几行数据
print(data.head())

2.降级xlrd库:

如果您希望继续使用xlrd库,可以将其版本降级到1.2.0,这是最后一个支持.xlsx文件的版本。

pip install xlrd==1.2.0

然后使用标准方法读取.xlsx文件:

import pandas as pd

# 读取.xlsx文件
data = pd.read_excel('data.xlsx')

# 显示前几行数据
print(data.head())

五、注意事项

在编写代码时,需注意以下几点,以避免类似错误:

  1. 检查库的版本:确保使用的库版本支持所需的功能。可以通过pip show命令检查已安装的库版本。
    pip show xlrd
    pip show openpyxl
  2. 选择合适的引擎:根据文件格式选择合适的引擎。例如,使用openpyxl引擎读取.xlsx文件。
    data = pd.read_excel(‘data.xlsx’, engine=‘openpyxl’)
  3. 更新和维护依赖库:定期更新和维护依赖库,确保使用的库版本是最新且稳定的。
    pip install --upgrade pandas openpyxl xlrd

4.捕获和处理异常:在读取文件时,捕获并处理可能的异常,提供有意义的错误信息。

import pandas as pd

try:
    data = pd.read_excel('data.xlsx', engine='openpyxl')
    print(data.head())
except Exception as e:
    print(f"Error reading Excel file: {e}")

5.参考官方文档:使用函数时,参考Pandas、xlrd和openpyxl的官方文档,了解函数支持的所有参数和使用方法。


通过遵循上述步骤和注意事项,您应该能够轻松解决“xlrd.biffh.XLRDError: Excel xlsx file; not supported”错误,并正确使用Pandas和相关库读取Excel文件。

结论

在数据处理过程中,读取Excel文件是一个常见任务。由于库版本的变更或参数使用错误,可能会遇到xlrd.biffh.XLRDError错误。通过使用合适的库(如openpyxl)或降级xlrd库版本,可以有效解决此问题。希望本文的详细解析和示例代码能帮助您理解并解决该错误,使您的数据处理工作更加顺利。

目录
相关文章
|
4月前
|
Python
【Python】已解决:(pandas读取DataFrame列报错)raise KeyError(key) from err KeyError: (‘name‘, ‘age‘)
【Python】已解决:(pandas读取DataFrame列报错)raise KeyError(key) from err KeyError: (‘name‘, ‘age‘)
304 0
|
6月前
|
Python
Python解释raise关键字的作用。
Python解释raise关键字的作用。
352 1
|
11月前
|
前端开发 Shell PHP
Python(二十七)python raise语法!
Python可以使用raise手动抛出异常。 看到菜鸟教程里边对 raise 的这个定义的时候,我有点迷茫,我在极力的去避免异常出现,我为什么还要手动抛出异常呢? 1:raise 语句的基本语法格式: raise [exceptionName [(reason)]] 2:基本使用方法 (1):直接一个raise抛出异常 python 复制代码 try: i = 1 while(i < 10): raise print(i) i += 1 except: print('raise 手动抛出异常') 输出: bas
76 1
|
Python
python安装osgeo库并解决is not a supported wheel on this platform 问题
python安装osgeo库并解决is not a supported wheel on this platform 问题
2788 0
|
Python
Python无法打开.xlsx文件:xlrd.biffh.XLRDError: Excel xlsx file; not supported
了解Python无法打开.xlsx文件:xlrd.biffh.XLRDError: Excel xlsx file; not supported。
261 0
Python无法打开.xlsx文件:xlrd.biffh.XLRDError: Excel xlsx file; not supported
|
算法框架/工具 Caffe
File "/usr/local/lib/python3.5/site-packages/dateutil/rrule.py", line 55 raise ValueError
File "/usr/local/lib/python3.5/site-packages/dateutil/rrule.py", line 55 raise ValueError
111 0
|
Python
Python pip安装报错及解决办法:is not a supported wheel on this platform
Python pip安装报错及解决办法:is not a supported wheel on this platform
647 0
Python+Excel:xlrd.biffh.XLRDError: Excel xlsx file; not supported,两种解决方案
Python+Excel:xlrd.biffh.XLRDError: Excel xlsx file; not supported,两种解决方案
345 0
Python+Excel:xlrd.biffh.XLRDError: Excel xlsx file; not supported,两种解决方案
下一篇
无影云桌面