从 python 中的字典中提取数据
Extracting data from dictionary in python
我有一个来自 Dr.Chuck 的程序来打印此数据的计数总和。问题是。 JSON 的计数在有很多时显示为“2”..
import json
import urllib
url="http://python-data.dr-chuck.net/comments_42.json"
uh = urllib.urlopen(url)
data = uh.read()
print 'Retrieved',len(data),'characters'
print data
info = json.loads(data)
print 'User count:', len(info)
这一行print 'User count:', len (info)
显示输出2。当有很多数据时,因此我只能访问2个数据而不能访问其余的。
我不知道为什么。我可以解决计数和部分。只是不明白为什么我只能访问前 2 个数据而 JSON 的其余部分被忽略了。
json 有两个顶级属性:备注和评论。这就是长度为 2 的原因。
这可能会满足您的需求:
len(info["comments"])
统计评论数:
print 'User count:', len(info["comments"])
打印总数"count":
count = 0
for comment in info["comments"]:
count += comment["count"]
print 'Total count:', count
Json由注释和评论组成。在评论里面还有另一个对象数组。
如果你想访问那个数组,你必须使用这个 info['comments']
然后,如果你想要那个数组的长度,你可以使用 len(info['comments'])
因此,您的 json 解析为类似
的字典
{"note":"bla", "comments":[...]}
它的长度应该是 2,因为它在这个字典中只有两个键。处理你的情况的正确方法是获取评论本身并计算它们。
例如:
len(data.get('comments',[]))
我有一个来自 Dr.Chuck 的程序来打印此数据的计数总和。问题是。 JSON 的计数在有很多时显示为“2”..
import json
import urllib
url="http://python-data.dr-chuck.net/comments_42.json"
uh = urllib.urlopen(url)
data = uh.read()
print 'Retrieved',len(data),'characters'
print data
info = json.loads(data)
print 'User count:', len(info)
这一行print 'User count:', len (info)
显示输出2。当有很多数据时,因此我只能访问2个数据而不能访问其余的。
我不知道为什么。我可以解决计数和部分。只是不明白为什么我只能访问前 2 个数据而 JSON 的其余部分被忽略了。
json 有两个顶级属性:备注和评论。这就是长度为 2 的原因。
这可能会满足您的需求:
len(info["comments"])
统计评论数:
print 'User count:', len(info["comments"])
打印总数"count":
count = 0
for comment in info["comments"]:
count += comment["count"]
print 'Total count:', count
Json由注释和评论组成。在评论里面还有另一个对象数组。
如果你想访问那个数组,你必须使用这个 info['comments']
然后,如果你想要那个数组的长度,你可以使用 len(info['comments'])
因此,您的 json 解析为类似
的字典{"note":"bla", "comments":[...]}
它的长度应该是 2,因为它在这个字典中只有两个键。处理你的情况的正确方法是获取评论本身并计算它们。
例如:
len(data.get('comments',[]))