gpt4 book ai didi

python - 使用 read_pickle 将 json_pickle(d) 推文读取到数据帧时发生 KeyError

转载 作者:太空宇宙 更新时间:2023-11-03 17:08:56 25 4
gpt4 key购买 nike

使用 python 2.7 以及 jsonpickle 和 pandas 库,我使用 jsonfile.write(jsonpickle.encode(tweets._json,unpicklable=False)+'\n')< 将一些推文保存到 .txt 文件中它使用 jsonpickle 包对推文的 json 值进行编码

当我尝试使用不同的脚本将 txt 文件读入 pandas 数据帧时tester = pandas.read_pickle(fileToProcess)

我的回溯最近一次调用是

File "C:\Python27\lib\pickle.py", line 858, in load dispatchkey KeyError: '{'

我创建的许多文件都遇到同样的错误。这是一个大小为 3.8MB 的示例文件 Sample Tweets File我是 json 文件的新手,但是 panda 或 pickle 专家可以帮助我将我的推文放入数据框吗?

最佳答案

read_pickle 方法旨在反序列化使用 pickle 模块创建的数据,例如使用 SeriesDataFramesPanelto_picke 方法序列化的数据。如 this answer 所示.

如果您使用 jsonpickle.encode,则应使用库提供的双重方法 jsonpickle.decode 来反序列化数据。

总的来说,我认为你最好使用pandas的序列化机制。

但是如果你太想使用jsonpickle:

  1. 请注意文档中的以下内容,

    If you will never need to load (regenerate the Python class from JSON), you can pass in the keyword unpicklable=False

因此,您不应该将 unpicklable=False 传递给 encode 方法。

  • 您似乎将每个对象保存到文件中的一行中,所以您应该这样做。
  • 沿着这个思路,

    tweets = []
    for line in fileToProcess:
    line = line[:-1] # Drop '\n' char
    tweets.append(jsonpickle.decode(line))

    关于python - 使用 read_pickle 将 json_pickle(d) 推文读取到数据帧时发生 KeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34321925/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com