Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
加载JSON并获取特定数据(Python)_Python_Json_Tweets - Fatal编程技术网

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

加载JSON并获取特定数据(Python),python,json,tweets,Python,Json,Tweets,我已经将一些tweet收集到一个JSON文件中,我需要用它对JSON中的某些数据进行统计。 在谷歌搜索了几个选项之后,没有一个能给我正确的解决方案 JSON如下所示: {"contributors": null, "truncated": false, "text": .... } 并应用此代码尝试加载它: import json f = open("user_timeline_Audi.jsonl",'r') data = f.read() print(data) bla = js

我已经将一些tweet收集到一个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文件中获得追随者的数量和喜欢的数量。希望有人能帮忙

编辑:

根据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']
....

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

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

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

然后对每个对象执行您想要的操作。

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

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

然后对每个对象执行您想要的操作。

我认为应该是
bla=obj[“followers\u count”]
我认为应该是
bla=obj[“followers\u count”]

如果没有看到json文件,很难说,但看起来您正在尝试加载一个包含多个词典的文件?看一看,;这可能就是你想要的。谢谢你的回复,但我在那里找不到解决方案。请查看@alex reply。这可能是您的问题吗?这是因为json.loads()错误!现在我需要弄清楚如何从这些行中获取值。很难说没有看到json文件,但看起来您正在尝试加载一个包含多个字典的文件?看一看,;这可能就是你想要的。谢谢你的回复,但我在那里找不到解决方案。请查看@alex reply。这可能是您的问题吗?这是因为json.loads()错误!现在我需要弄清楚如何从这些行中获取值。感谢您的回复,这对我有了进一步的帮助,现在继续讨论如何从这些行中获取值。感谢您的回复,这对我有了进一步的帮助,现在一直在讨论如何从行中获取值。这给了我一个错误:KeyError:“followers\u count”你可以通过执行
print(obj.keys())
打印出dict中的所有键,并确保你需要的键确实存在吗?当我打印(obj)时,followers\u count存在。但是对于您提到的打印(obj.keys()),似乎不存在
followers\u count
可能是第二级密钥?在另一个里面?如果您发布了
print(obj.keys())
的输出,那么给出正确答案会容易得多,否则只是猜测。对不起,这是其中一行的输出:dict\u keys([‘贡献者’、‘截断’、‘文本’、‘is quote_status’、‘in_reply_to_status_id’、‘id’、‘favorite_count’、‘source’、‘retweeted’、‘coordinates’、‘entities’、‘in_reply_to_screen_name’、‘in_reply_to_user_id’、‘in_reply_count’、‘id’、‘id_str’、‘favorited_status’、‘user’、‘用户’、‘geo’、‘in_reply_to_user_“,”在“回复”给我的“状态”\u id\u str“,”place“,”extended\u entities“])中,这给了我一个错误:KeyError:“followers\u count”你能通过执行
print(obj.keys())
打印出dict中的所有键并确保你需要的键确实存在吗?当我打印(obj)时,followers\u count是存在的。但是你提到的打印(obj.keys()),似乎
followers\u count
可能是第二级密钥?在另一个密钥中?如果发布
print(obj.keys())
的输出,则给出正确答案会容易得多,否则只是猜测。抱歉,这是其中一行的输出:dict\u密钥([‘贡献者’、‘截断’、‘文本’、‘is quote_status’、‘in_reply_to_status_id’、‘id’、‘favorite_count’、‘source’、‘retweeted’、‘coordinates’、‘entities’、‘in_reply_to_screen_name’、‘in_reply_to_user_id’、‘in_reply_count’、‘id’、‘id_str’、‘favorited_status’、‘user’、‘用户’、‘geo’、‘in_reply_to_user_“,”在“回复到”状态“id”str“,”位置“,”扩展实体“])