在Python中从嵌套字典中提取数据
我是新来的,这是我的第一个问题。我们都从某处开始:D 我通过API将这些数据返回给我,并将其存储在名为在Python中从嵌套字典中提取数据,python,Python,我是新来的,这是我的第一个问题。我们都从某处开始:D 我通过API将这些数据返回给我,并将其存储在名为jsonResponseData { "date-value": [{ "dateTime": "2020-06-25", "value": "34365" }, { "dateTime": "2020-
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个
值
值,然后将它们相加为一个数字。您可以遍历列表,并访问其中的dict
用于数据['date-value']中的条目:
打印(条目['value'])
#或者你想用这些值做什么
这是提取这些值的一种方法(假设上面的对象称为dict
)
列表理解是的,这是一个嵌套字典。您可以使用列表理解,而不是使用循环
>>> sum(int([inner['value']) for inner in my_dict['date-value']])
82220
对于my_dict中的每个嵌套字典,将“value”元素转换为整数并对结果求和
这是一本嵌套字典吗
有点。这是一本字典,里面有一系列字典
不管它是什么,我将如何解析它,以便只保留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个数字的总和。您可以使用此函数返回值的总和。希望这有帮助
def getValuesSum(json_data):
values_list=[int(items['value']) for items in json_data['date-value']]
return sum(values_list)
非常感谢!工作起来很有魅力。我会在10分钟内接受这个答案,一旦它允许我。还有一个问题:嵌套字典是正确的术语吗?我会称之为字典列表。(虽然从技术上讲,它们嵌套在“日期值”中,但我们直接访问列表)您要得到这些字段的总和吗?“值”:“4650”
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)
def getValuesSum(json_data):
values_list=[int(items['value']) for items in json_data['date-value']]
return sum(values_list)