[英]Extracting Data from a Nested Dictionary in Python
我是新来的,这是我的第一个问题。 我们都从某个地方开始:D
我通过 API 将这些数据返回给我,并将其存储在名为jsonResponseData
的变量中
{
"date-value": [{
"dateTime": "2020-06-25",
"value": "34365"
}, {
"dateTime": "2020-06-26",
"value": "7268"
}, {
"dateTime": "2020-06-27",
"value": "4762"
}, {
"dateTime": "2020-06-28",
"value": "4650"
}, {
"dateTime": "2020-06-29",
"value": "2934"
}, {
"dateTime": "2020-06-30",
"value": "4973"
}, {
"dateTime": "2020-07-01",
"value": "3594"
}, {
"dateTime": "2020-07-02",
"value": "19674"
}]
}
这甚至是嵌套字典吗? 我对编程相当陌生,欢迎任何帮助,不管它是什么,我将如何解析它,所以我只保留 7 个value
,然后能够将它们加起来为一个数字。
您可以遍历列表,并访问里面的字典。
for entry in data['date-value']:
print(entry['value'])
# or whatever else you want to do with the values
这是提取这些值的一种方法(假设上面的 object 称为dict
)。
for val in dict["date-value"]:
print(val["value"])
values = [x["value"] for x in jsonResponseData["date-value"]]
列表理解
是的,这是一个嵌套字典。 您可以使用列表推导,而不是使用循环。
>>> sum(int([inner['value']) for inner in my_dict['date-value']])
82220
对于 my_dict 中的每个嵌套字典,将 'value' 元素转换为 integer 并对结果求和。
您可以使用此 function 它将返回值的总和。 希望这可以帮助!
def getValuesSum(json_data):
values_list=[int(items['value']) for items in json_data['date-value']]
return sum(values_list)
这甚至是嵌套字典吗?
有点。 这是一本字典,里面有一个字典列表。
不管它是什么,我将如何解析它,所以我只保留 7 个值,然后能够将它们加起来为一个数字。
尝试这个:
import json
data = """
{
"date-value": [{
"dateTime": "2020-06-25",
"value": "34365"
}, {
"dateTime": "2020-06-26",
"value": "7268"
}, {
"dateTime": "2020-06-27",
"value": "4762"
}, {
"dateTime": "2020-06-28",
"value": "4650"
}, {
"dateTime": "2020-06-29",
"value": "2934"
}, {
"dateTime": "2020-06-30",
"value": "4973"
}, {
"dateTime": "2020-07-01",
"value": "3594"
}, {
"dateTime": "2020-07-02",
"value": "19674"
}]
}
"""
data_dict = json.loads(data)
values = 0
for x in data_dict["date-value"]:
values += int(x['value'])
print(values)
这应该导致值是所有 7 个数字的总和。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.