加载JSON并获取特定数据(Python)

时间:2018-03-11 10:21:29

标签: python json tweets

我一直在收集一些推文到JSON文件中,我需要用它来对JSON中的某些数据进行一些统计。 在谷歌搜索了几个如何做到这一点的选项之后,没有人可以给我正确的解决方案。

JSON看起来像这样:

{"contributors": null, "truncated": false, "text": .... }

并应用此代码尝试加载它:

 import json
 f = open("user_timeline_Audi.jsonl",'r')
 data = f.read()
 print(data)
 bla = json.loads(data)

基本上json.loads()给了我下一个错误:

json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 2698)

最终目标是我需要从几个JSON文件中获取 followers_count 喜欢。希望有人可以提供帮助!

编辑:

根据Alex Hall的回答,我的代码现在是:

import json

with open("user_timeline_BMW.jsonl",'r') as f:
    for line in f:
    obj = json.loads(line)
    bla = ["followers_count"]
    print(bla)

这只输出一个列表,而不是它背后的值:

....
['followers_count']
['followers_count']
....

希望有人对此步骤提出建议!

2 个答案:

答案 0 :(得分:4)

您正在处理JSON行,其中每行包含一个JSON对象。你应该这样做:

for line in f:
    obj = json.loads(line)

然后用每个对象做你想做的事。

答案 1 :(得分:1)

我认为它应该是bla = obj["followers_count"]