Python Polars 读取 pickle 文件时出错

Python Polars ComputeError when reading pickle file

提问人:Danilo Setton 提问时间:11/17/2023 更新时间:11/17/2023 访问量:41

问:

当我尝试执行以下代码片段时:

import pickle

f = open('my_file_path.pkl', 'rb')
loaded_obj = pickle.load(f)
f.close()

我收到以下错误:

ComputeError: out-of-spec: Unable to get root as message: {err:?}

起初我以为这是 Pickle 及其 .load() 方法的问题,但在阅读错误跟踪后,这实际上与 Polars 有关,因为错误链的最后一行来自 \polars 包:

File ~\AppData\Local\anaconda\Lib\site-packages\polars\series\series.py:436 in __setstate__
  self._s.__setstate__(state)

尴尬的行为是,这个完全相同的代码(不仅仅是这个代码片段,而是整个仪表板设计代码)昨天 100% 工作。但是在我更换了我的笔记本(因此重新安装了 anaconda、python 和包括极地在内的几个软件包)后,我收到了错误。

因此,我认为 pickle 文件本身或代码没有任何问题,但与现在影响执行的软件包(Pickle、Polars?

谢谢。

python-极地

评论

5赞 ignoring_gravity 11/17/2023
您是否将 pickle 文件与不同版本的软件包一起保存?如果是这样,可能很难再读一遍。我建议选择更好的格式(如 parquet、json 甚至 csv)来保存数据,泡菜是最后的手段
0赞 Danilo Setton 11/17/2023
是的,@ignoring_gravity,我做到了。好的,谢谢你的评论。

答: 暂无答案