导入pandas时报ModuleNotFoundError: No module named 'pandas.io.spss'求助
错误原因及解决方案
错误原因
- pandas默认不内置SPSS格式文件的读写支持,
pandas.io.spss模块依赖第三方包pyreadstat才能正常加载,环境中未安装该依赖时,若触发了相关模块的预加载就会抛出该错误 - pandas版本不兼容:低于1.3的过旧pandas版本对spss模块的适配存在缺陷,部分版本无对应模块入口;部分新版本如果和依赖包版本不匹配也会触发报错
- 运行环境冲突:当前代码运行的Python环境和安装pandas的环境不一致,比如虚拟环境与全局环境混淆、IDE指定的解释器和装包的解释器不匹配
解决方法
- 优先安装
pandas.io.spss的依赖包:
pip安装执行:pip install pyreadstat
conda安装执行:conda install -c conda-forge pyreadstat - 若安装依赖后仍报错,升级pandas到稳定兼容版本:
执行命令:pip install --upgrade pandas==2.0.3 - 排查环境一致性:
运行代码import sys; print(sys.executable)获取当前使用的Python解释器绝对路径,使用对应路径的pip安装依赖,避免环境错位,示例命令:{你的解释器路径} -m pip install pyreadstat pandas - 如果你没有读写SPSS的
.sav格式文件的需求,且代码中存在主动导入pandas.io.spss的语句,直接删除该导入语句即可,不会影响pandas其他功能的正常使用
内容的提问来源于stack exchange,提问作者Subham Saha
相关产品推荐
相关产品推荐

