关于python:KeyError读取json_pickle(d)使用read_pickle将数据推送到数据帧

KeyError reading json_pickle(d) tweets into dataframe using read_pickle

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

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

我追溯的最近一次电话是

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

我用我创建的一些文件得到了同样的错误。
这是一个3.8MB大小的示例文件的示例文件
我是json文件的新手但是熊猫或泡菜专家可以帮我把我的推文变成数据帧吗?


read_pickle方法旨在对用pickle模块创建的数据进行反序列化,例如, 使用SeriesDataFramesPanelto_picke方法序列化的数据。 就像这个答案所示。

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

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

但如果你想要使用jsonpickle太糟糕了:

  • 请注意以下文档,

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

  • 所以,你不应该将unpicklable=False传递给encode方法。

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

    1
    2
    3
    4
    5
    tweets = []
    for line in fileToProcess:
        line = line[:-1]  # Drop '
    ' char
        tweets.append(jsonpickle.decode(line))