Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.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
在Python中从嵌套字典中提取数据_Python - Fatal编程技术网

在Python中从嵌套字典中提取数据

在Python中从嵌套字典中提取数据,python,Python,我是新来的,这是我的第一个问题。我们都从某处开始:D 我通过API将这些数据返回给我,并将其存储在名为jsonResponseData { "date-value": [{ "dateTime": "2020-06-25", "value": "34365" }, { "dateTime": "2020-

我是新来的,这是我的第一个问题。我们都从某处开始: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个
值,然后将它们相加为一个数字。

您可以遍历列表,并访问其中的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)