使用pd.read_excel读取Excel时无论路径格式均报错的问题排查
解决pd.read_excel报错AttributeError: 'ElementTree' object has no attribute 'getiterator'
兄弟,先给你敲黑板——你遇到的这个错误跟文件路径半毛钱关系都没有!你试的五种路径里,其实好几种都是合法的(比如双反斜杠\\、正斜杠/、双正斜杠//在Python里都能正确识别路径),之所以全部报错,问题出在你的pandas版本和Python版本不兼容上。
错误原因拆解
这个报错里的getiterator()是Python的xml.etree.ElementTree模块里的旧方法,在Python 3.9及以后的版本里已经被官方移除了,取而代之的是iter()方法。如果你的pandas版本比较老旧,它的内部代码还在调用已经被废弃的getiterator(),自然就会触发这个AttributeError。
解决方案
给你两个可行的办法,优先选第一个:
- 升级pandas到兼容版本:这是最彻底的解决方式,打开终端执行下面的命令就行:
注意:Python 3.9+的话,至少要升级到pandas 1.3.0及以上版本,更推荐直接更到最新稳定版,兼容性更好。pip install --upgrade pandas - 临时降级Python版本(不推荐):如果暂时不想动pandas版本,可以把Python降到3.8或更低版本,但这种方法会让你用不了Python新版本的特性,只适合临时应急。
等你处理完版本问题后,再用你那些合法的路径(比如'C:/Users/Folder/Filename.xlsx'这种正斜杠格式最不容易踩转义坑)重新运行代码,应该就能正常读取Excel文件了。
内容的提问来源于stack exchange,提问作者iLL-Army
相关产品推荐
相关产品推荐

