xlrd.biffh.XLRDError: Excel xlsx file; not supported异常的解决方法,亲测有效,嘿嘿嘿

p>

问题分析

xlrd.biffh.XLRDError: Excel xlsx file; not supported 这个错误表示你尝试使用 xlrd 库来读取一个 .xlsx 格式的 Excel 文件,但是 xlrd 库从版本 2.0.0 开始就不再支持 .xlsx 文件。之前的 xlrd 版本能够读取 .xls(Excel 97-2003 工作簿)和 .xlsx(Excel 2007+ 工作簿)两种格式,但自 2.0.0 版本起,它只支持 .xls 格式。

报错原因

报错的原因是你正在使用不支持 .xlsx 格式的 xlrd 版本(2.0.0 或更高版本)。如果你的代码中指定了 xlrd 作为读取 .xlsx 文件的库,那么就会抛出这个错误。

解决思路

  1. 降级 xlrd:如果你必须使用 xlrd 并且需要读取 .xls 文件,你可以将 xlrd 降级到一个支持 .xlsx 的版本(例如 1.2.0)。
  2. 使用其他库:对于 .xlsx 文件,你可以使用 openpyxlpandas(它内部使用了 openpyxlxlrd,取决于你安装的版本)来读取。

解决方法

方法一:降级 xlrd

如果你确实需要降级 xlrd,你可以使用 pip 来安装一个旧版本:

pip install xlrd==1.2.0

然后,你可以像之前一样使用 xlrd 来读取 .xlsx 文件(但请注意,这不是推荐的做法,因为旧版本可能包含已修复的安全漏洞或其他问题)。

方法二:使用 openpyxl

下滑查看解决方法

对于 .xlsx 文件,推荐使用 openpyxl 库。以下是一个使用 openpyxl 读取 .xlsx 文件的示例:

from openpyxl import load_workbook

# 加载工作簿
workbook = load_workbook(filename='your_file.xlsx')

# 选择第一个工作表
sheet = workbook.active

# 读取单元格的值
cell_value = sheet['A1'].value
print(cell_value)
方法三:使用 pandas 读取 .xlsx 文件

如果你熟悉 pandas 库,你可以用它来轻松地读取 .xlsx 文件:

import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('your_file.xlsx')

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

在这个例子中,pandas 会自动选择使用 openpyxl(如果已安装)或 xlrd(如果安装了旧版本并且没有安装 openpyxl)来读取 .xlsx 文件。但由于 xlrd 不再支持 .xlsx,推荐显式安装并使用 openpyxl

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值