首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多根数据集中获取数据

从多根数据集中获取数据
EN

Stack Overflow用户
提问于 2019-04-16 15:18:39
回答 1查看 30关注 0票数 0

我有一个具有多个JSON根的数据集,并试图访问每个json对象的每个类别的值。

因此,我拥有的数据集来自于:

代码语言:javascript
复制
data = {
   "Engine":{
      "passed_count":1,
      "blocked_count":0,
      "untested_count":4088,
      "failed_count":0,
      "reviewed_count":0,
      "test_harness_issue_count":0,
      "bug_failure_count":0,
      "defect_list":[

      ]
   },
   "Management Web Console":{
      "passed_count":0,
      "blocked_count":0,
      "untested_count":12067,
      "failed_count":0,
      "reviewed_count":0,
      "test_harness_issue_count":0,
      "bug_failure_count":0,
      "defect_list":[

      ]
   }
}
{
   "Engine":{
      "passed_count":3,
      "blocked_count":0,
      "untested_count":4088,
      "failed_count":0,
      "reviewed_count":0,
      "test_harness_issue_count":0,
      "bug_failure_count":0,
      "defect_list":[

      ]
   },
   "Management Web Console":{
      "passed_count":0,
      "blocked_count":0,
      "untested_count":12067,
      "failed_count":0,
      "reviewed_count":0,
      "test_harness_issue_count":0,
      "bug_failure_count":0,
      "defect_list":[

      ]
   }
}

在这个例子中,我只使用了两个相同的数据集,即使实际上其中的3个具有相同的键和类别,只是不同的值。

我想要完成的是获取每个数据集的每个类别的'passed_count‘的值。

在python中是否有将上面的两个数据集(在data中)分开,这样我就可以通过这样的操作来访问这些值了?

代码语言:javascript
复制
 for value in data1:
        print(value['passed_count'])
        ## 1
        ## 0
 for value in data2:
        print(value['passed_count']
        ## 3
        ## 0

编辑:

为了澄清起见,在For循环中创建了data变量。因此,当我print(data)时,它会返回3个字典(因此是多根)。我试图从这个变量中提取数据,而我应该将这个变量分成三个独立的字典,或者格式化它们,这样我就能够从它们中获取值。

EN

回答 1

Stack Overflow用户

发布于 2019-04-16 15:32:18

您可以获取这些keys,然后使用索引位置作为"data1“、"data2”等来迭代这些:

注:

我不得不稍微修改data以适应json格式。

代码语言:javascript
复制
data = [
        {"Engine":{
      "passed_count":1,
      "blocked_count":0,
      "untested_count":4088,
      "failed_count":0,
      "reviewed_count":0,
      "test_harness_issue_count":0,
      "bug_failure_count":0,
      "defect_list":[]
   },
   "Management Web Console":{
      "passed_count":0,
      "blocked_count":0,
      "untested_count":12067,
      "failed_count":0,
      "reviewed_count":0,
      "test_harness_issue_count":0,
      "bug_failure_count":0,
      "defect_list":[]
   }
},
{"Engine":{
      "passed_count":3,
      "blocked_count":0,
      "untested_count":4088,
      "failed_count":0,
      "reviewed_count":0,
      "test_harness_issue_count":0,
      "bug_failure_count":0,
      "defect_list":[]
   },
   "Management Web Console":{
      "passed_count":0,
      "blocked_count":0,
      "untested_count":12067,
      "failed_count":0,
      "reviewed_count":0,
      "test_harness_issue_count":0,
      "bug_failure_count":0,
      "defect_list":[]
   }
}
   ]



data_keys = list(data[0].keys())

# data1, which is represented as key from index 0
for value in data:
    print (value[data_keys[0]]['passed_count'])


# data2, which is represented as key from index 1
for value in data:
    print (value[data_keys[1]]['passed_count'])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55711548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档