python - 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 xlrd
pip3 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')
openpyxl
with发生了完全相同的错误xlrd
。
解决方案
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)
推荐阅读
- typescript - 您将如何使用 lambda 简化这段代码?
- c++ - 越界访问数组,但更早返回 - UB?
- python - 合并从递归函数返回的非常大的数组
- python - 如何将函数绑定到 Qt 菜单栏中的操作?
- google-sheets-api - Bings 广告脚本 - 调用 Google 服务不起作用
- google-apps-script - Apps 脚本:收集表单输入并显示今天的总数
- .net - Docker 容器立即退出并出现错误 145
- ruby-on-rails - 使用 Kramdown 进行降价时,Rails ATOM 编码无效
- python - 在 PySimpleGUI 窗口中插入图像作为背景
- php - PDF 不使用半页 - TCPDF