python import xlrd 报错_Jupyter notebook 与excel 的爱恨情仇 python3.9 与 xlrd 库报错

jupyter notebook 在调用pandas库时

import pandas as pd

df = pd.read_excel("XX.xlsx")

df

1.XLRDError: Excel xlsx file; not supported

原因:最新的xlrd不支持Excel xlsx文件的读取。

解决办法:若为Python3.X,使用pip3;若为低版本Python2.X,使用pip。

卸载xlrd最新版本

pip3 uninstall xlrd

安装低版本:

pip3 install xlrd==1.2.0

接下来,会报错:AttributeError: 'ElementTree' object has no attribute 'getiterator'

原因:新版python3.9中,系统更新删除了getiterator方法,所以低版本的 xlrd库调用getiterator方法时会报错。

解决办法:

找出目录下的python文件下的\site-packages\xlrd\xlsx.py文件

若通过Homebrew安装Python,pip3安装xlrd,位置则在 /usr/local/lib/python3.9/site-packages/xlrd/xlsx.py

修改:

把两个地方的的getiterator(),都改成iter()。

重新终端启动 jupyter notebook ,不再报错。

不卸载新版本解决办法:

在调用read_excel()函数时,添加条件“engine='openpyxl'”,借助openpyxl库来读取xlsx文件。即:read_excel(path,engine='openpyxl')。

参考

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值