1. 报错
Traceback (most recent call last):
File "main.py", line 25, in <module>
result = pd.read_excel('./pdfdata1.xlsx')
File "D:\Python\lib\site-packages\pandas\util\_decorators.py", line 296, in wrapper
return func(*args, **kwargs)
File "D:\Python\lib\site-packages\pandas\io\excel\_base.py", line 304, in read_excel
io = ExcelFile(io, engine=engine)
File "D:\Python\lib\site-packages\pandas\io\excel\_base.py", line 867, in __init__
self._reader = self._engines[engine](self._io)
File "D:\Python\lib\site-packages\pandas\io\excel\_xlrd.py", line 21, in __init__
import_optional_dependency("xlrd", extra=err_msg)
File "D:\Python\lib\site-packages\pandas\compat\_optional.py", line 110, in import_optional_dependency
raise ImportError(msg) from None
ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.
2. 错误截图
3. 问题描述
使用pandas.read_excel()函数读取xlsx文件里的数据,却报错ImportError: Missing optional dependency ‘xlrd’. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.
4. 解决办法一
执行命令 pip install xlrd 安装相应的安装包
pip install xlrd
5. 解决办法二
执行命令 pip install openpyxl 安装相应的安装包
pip install openpyxl
使用openpyxl代替xlrd,读取文件时记得指定引擎engine=‘openpyxl’
6. 解决问题代码
result = pd.read_excel('./pdfdata1.xlsx', engine='openpyxl')
正常读取,不再报错!
7. 总结
- 使用方案一需要安装对应的版本,因为有的版本xlrd是不能读取xlsx文件;
- 由于我本地有openpyxl安装包,所以使用的是方案二,直接解决了问题;