繁体   English   中英

在python中从字典中提取数据

[英]Extracting data from dictionary in python

我有一个来自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 = 0
for comment in info["comments"]:
    count += comment["count"]
print 'Total count:', count

因此,您的json解析为dict

{"note":"bla", "comments":[...]}

它的长度应为2,因为在此字典中只有两个键。 处理案例的正确方法是获取评论本身并对其进行计数。

例如:

len(data.get('comments',[]))

Json由注释和注释组成。 注释内部还有另一个对象数组。 如果要访问该数组,则必须使用此info['comments'] ,然后,如果需要该数组的长度,则可以使用len(info['comments'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM