针对Excel中的.xlsx文件,在使用pandas库之前,笔者走过很多弯路,其中之一就是xrld库,笔者使用xlrd库进行数据读取并未成功,在这里写一点自己的失败经历,就当一份闭坑指南了吧。如果有小伙伴成功在Python3.9.1版本中使用xlrd库对.xlsx文件进行数据处理了的话,欢迎指教~
我使用的Python版本为3.9.1,首先我参考了这篇文章:
python中读取xlsx文件_give it a try~的博客-CSDN博客_python读取xlsx文件
首先安装并配置了xlrd库,输入如下代码:
import xlrd
book = xlrd.open_workbook('data.xlsx')
程序报错:
xlrd.biffh.XLRDError: Excel xlsx file; not supported
后来为此我又继续查询资料,资料显示是由于xlrd的版本问题,目前安装的适配版本为2.0.1版,笔者建议降到1.2.0版本。
xlrd.biffh.XLRDError: Excel xlsx file; not supported_-JasonWang-的博客-CSDN博客_xlrd.biffh.xlrderror
于是在cmd窗口使用pip install xlrd===1.2.0版本,对其强制降级,重新运行代码,程序仍然报错,但报错原因发生变化:
AttributeError: 'ElementTree' object has no attribute 'getiterator'
查询参考以下文章发现,xml.etree.ElementTree.Element.getiterator()自Python 2.7起已弃用,并已在Python 3.9中删除,因此建议提高xrld版本。
【Python3.9使用pandas读取Excel报错】AttributeError: ‘ElementTree‘ object has no attribute ‘getiterator‘_南京北云的博客-CSDN博客
此时我查询了xlrd的版本号,versions: 0.5.2, 0.6.1a4, 0.6.1, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.7.7, 0.7.8, 0.7.9, 0.8.0, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 1.0.0, 1.1.0, 1.2.0, 2.0.0, 2.0.1,并没有介于二者之间的版本,因此我认为该方法并不适合与.xlsx文件的操作处理,因此作罢。