我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

这里需要使用pythonxlsx文件进行读取操作,使用了xlrd库。但是,通过pip安装到xlrd库,却报错无法解析xlsx文件。这究竟是怎么回事呢?

苏南大叔:python的xlrd不能解析xlsx文件,如何解决? - python-xlrd
python的xlrd不能解析xlsx文件,如何解决?(图3-1)

大家好,这里苏南大叔的“程序如此灵动”博客。本文记录xlrd库的一些小事情。本文测试环境:win10python@3.6.8xlrd@2.1.0

问题描述

python代码如下:

import pandas as pd
df = pd.read_excel("data.xlsx")

试图使用python通过pandas利用xlrd解读一个xlsx文件,报错信息:

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

苏南大叔:python的xlrd不能解析xlsx文件,如何解决? - 缺少xlrd库
python的xlrd不能解析xlsx文件,如何解决?(图3-2)

pip install xlrd
pip show xlrd

结果显示,安装到的xlrd版本号是2.1.0xlrd信息如下:

苏南大叔:python的xlrd不能解析xlsx文件,如何解决? - xlrd基本信息
python的xlrd不能解析xlsx文件,如何解决?(图3-3)

新的报错信息如下:

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

解决方案

解决方案非常让人不理解,那就是降级xlrd。高版本的xlrd反而不支持xlsx文件的解析,低版本则可以。怀疑是迫于相关版权方的压力吧。

执行命令如下:

pip uninstall xlrd
pip install xlrd==1.2.0

再一次指定pip install的版本号,看来这可能是个趋势啊...xlrd降级到1.2.0之后,pandas就可以利用xlrd读取xlsx文件了。

相关链接

总结

总结就是:历史经验无数次表明,最新的不一定是最好的。只有适合自己的才是最好的。多么痛的领悟啊...顺便提一下,pandas总感觉是R里面的东东啊...

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python