格式化和解码Twitter流JSON输出

时间:2014-05-07 22:52:01

标签: python json twitter

我无法使用我编写的python脚本对正在收集的twitter流进行格式化和编码。输出如下:

  

{“created_at”:“Wed May 07 20:53:05 +0000 2014”,“id”:464145921098674177,“id_str”:“464145921098674177”......

...并沿着一行继续这个单一条目。每一行都是一条推文,其中大量信息的结构相同。

我尝试过简单地使用python的JSON模块将json文件转换为dict,但它一直给我一个错误 - 声明该结构不是JSON序列化。

最终,我想将JSON输出提供给表格格式。我正在尝试将文件放入csv并从那里开始。在这一点上,我会满足于任何可读的东西。仅供参考 - 我正在努力坚持使用Python,因为这是我所知道的。

这是我尝试使用的python代码:

  

导入json

     

json_file = open('twitterOutput.json','r')。readlines()

     

j = json.loads(json_file [0])

     

print j

这给了我错误:“没有JSON对象可以被解码”。仅供参考 - 这只是测试代码。我只是想尝试让json_file列表中的一行行。

感谢。

1 个答案:

答案 0 :(得分:0)

如果没有看到任何代码,很难说出错的地方,但以下情况应该这样做:

import json

twitter_output = # string of twitter output
twitter_output_dict = json.loads(twitter_output)

或者,如果输出存储在文件中,则:

import json

with open('twitter_output.json') as twitter_output_file:
    twitter_output_dict = json.load(twitter_output_file)

至于“试图将文件放入csv并从那里开始”,你必须解释你想要如何处理它以及你希望如何构建它。据我所知,Twitter返回的JSON是一个嵌套结构(如Twitter's docs所示,因此以csv格式显示它实际上取决于你想如何构建它。