pandas raise TypeError(‘expected ‘ + str(self.expected_type)) TypeError: expected <class ‘str‘>
这个问题在pandas1.1以上应该都会有,我的原因是excel最后两行是这样的,不是个规范的格式这个不规范的格式在之前可以用参数skipfooter=2轻松处理,但在较新的版本就会出现如题的错误。另一个原因是pandas更新了引擎,从xlrd => openpyxlxlrd因为安全性不高,在较新版本放弃了对xlsx格式的支持,pandas也将引擎换到openpyxl。解决方法是:panda
·
这个问题在pandas1.1以上应该都会有,我的原因是excel最后两行是这样的,不是个规范的格式
这个不规范的格式在之前可以用参数skipfooter=2轻松处理,但在较新的版本就会出现如题的错误。
另一个原因是pandas更新了引擎,从xlrd => openpyxl
xlrd因为安全性不高,在较新版本放弃了对xlsx格式的支持,pandas也将引擎换到openpyxl。
解决方法是:要么将最后一行不规范的删掉,要么pandas退回1.0.1版本,xlrd退回1.2.0版本
pip install pandas==1.0.1
pip install xlrd==1.2.0
参考:
《How to resolve Openpyxl TypeError: expected <class ‘str’> error in openpyxl-3.0.3》
《openpyxl的一个坑》
《xlrd.biffh.XLRDError: Excel xlsx file; not supported [duplicate]》
更多推荐



所有评论(0)