首页 > 解决方案 > pandas 无法读取 excel 缺少 xlrf

问题描述

我的熊猫无法读取 xlsx:

df = pd.read_csv(path)

带有错误消息:

ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.

对于所有这些情况,我都尝试在 Commond 中安装 xlrd:, python3 -m pip install xlrd,pip install xlrdpip3 install xlrd

系统显示安装 xlrd 成功(我也尝试删除并重新安装):

Requirement already satisfied: xlrd in c:\users\<My system>\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\site-packages (2.0.1)

但是我仍然有同样的错误。我还尝试了另一种方法:

df = pd.read_excel(path, engine= 'openpyxl')

openpyxlwith发生了完全相同的错误xlrd

标签: pythonpandasxlrd

解决方案


Pandas 过去需要 xlrd,但现在不再需要了。xlrd >= 2.0 仅支持 xls 格式,不支持 xlsx。您可以将 xlrd 降级到 1.2,但我更喜欢使用 openpyxl。

此外,在读取 xlsx 时,您可能需要使用 pd.read_excel 而不是 pd.read_csv。这是一个使用 openpyxl 读取 xlsx 文件的示例,对我有用:

df = pd.read_excel(filename, 'Sheet1', index_col=None, na_values=[""], na_filter=False,engine='openpyxl').astype(str)


推荐阅读