使用python 2.7和jsonpickle和pandas库我使用jsonfile.write(jsonpickle.encode(tweets._json,unpicklable=False)+'\n')
将一些推文保存到.txt文件中
它使用jsonpickle
包
当我尝试使用不同的脚本将txt文件读入pandas数据帧时
tester = pandas.read_pickle(fileToProcess)
我追溯的最近一次电话是
文件" C:\ Python27 \ lib \ pickle.py",第858行,加载 dispatchkey KeyError:' {'
我在创建的文件中遇到了同样的错误。 这是一个大小为3.8 MB的示例文件Sample Tweets File 我是json文件的新手,但是熊猫或泡菜专家可以帮我把我的推文变成数据帧吗?
答案 0 :(得分:1)
read_pickle
方法旨在使用pickle模块对创建的数据进行反序列化,例如:使用to_picke
,Series
或DataFrames
Panel
方法序列化的数据。如this answer中所示。
如果您使用的是jsonpickle.encode
,则应使用库jsonpickle.decode
提供的双重方法对数据进行反序列化。
总的来说,我认为你最好使用pandas的序列化机制。
但如果你想要使用jsonpickle
太糟糕了:
如果您永远不需要加载(从JSON重新生成Python类),您可以传递关键字unpicklable = False
所以,你不应该将unpicklable=False
传递给encode
方法。
这方面的事情,
tweets = []
for line in fileToProcess:
line = line[:-1] # Drop '\n' char
tweets.append(jsonpickle.decode(line))