使用pickle读取pkl文件时出现ModuleNotFoundError的解决咨询
解决pickle读取pkl文件时的ModuleNotFoundError问题
你遇到的ModuleNotFoundError: No module named 'pandas.core.frame',本质是因为要读取的pkl文件是用pandas对象(比如DataFrame)序列化的,当前Python环境要么没装pandas,要么pandas版本不匹配,导致pickle无法找到对应模块完成反序列化。
给出具体解决步骤:
- 先安装你代码中标注的1.5.0版本pandas,执行命令:
pip install pandas==1.5.0 - 修改代码:导入pandas确保模块存在,同时去掉重复的
pickle.load(f)调用(第一次load已经读取完文件内容,第二次调用会触发文件末尾错误),修正后的代码:import pickle import pandas # 必须导入pandas,保证序列化依赖的模块存在 # pandas 1.5.0 with open("1_cpg_input.pkl", 'rb') as f: # 用with语句自动管理文件,更安全 data = pickle.load(f) print(data) - 如果之前装过其他版本pandas,建议先卸载再重装指定版本:
pip uninstall pandas -y pip install pandas==1.5.0
内容的提问来源于stack exchange,提问作者brian.liu
相关产品推荐
相关产品推荐

