首页 > 解决方案 > Pandas read_pickle 因缺少/过期模块而中断

问题描述

我实现了一个小型模拟环境,并将我的评估结果以 pickle 文件的形式保存为 Pandas 数据帧。

后来,为了分析结果,我有一个 Jupyter 笔记本,在这里我使用 Pandadf = pd.read_pickle(path)再次加载数据帧并可视化数据。我还将元数据注释为数据帧的属性,使用df.attr,之后正确加载。

这曾经工作得很好。不幸的是,我的模拟器已经进化并且相应的 Python 包更改了名称,这导致尝试读取旧结果时出现问题。现在,pd.read_pickle()对于新生成的结果仍然可以正常工作。但是对于旧结果,它会以 a 中断ModuleNotFoundError,告诉我它没有找到simulator_old模块,即旧名称的包的先前版本。

我不确定为什么以及对我的包的依赖来自何处。也许我从旧包中写了一些对象作为数据框属性。我无法弄清楚,因为它总是简单地坏掉。我希望能够阅读新旧结果,并且pd.read_pickle()只需跳过它无法阅读的任何条目,而是阅读其他所有内容。

我可以做些什么来恢复我的旧结果吗?例如,告诉泡菜忽略这些错误?

标签: pythonpandaspicklemodulenotfounderror

解决方案


推荐阅读