我有一个具有多个JSON根的数据集,并试图访问每个json对象的每个类别的值。
因此,我拥有的数据集来自于:
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中)分开,这样我就可以通过这样的操作来访问这些值了?
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个字典(因此是多根)。我试图从这个变量中提取数据,而我应该将这个变量分成三个独立的字典,或者格式化它们,这样我就能够从它们中获取值。
发布于 2019-04-16 15:32:18
您可以获取这些keys,然后使用索引位置作为"data1“、"data2”等来迭代这些:
注:
我不得不稍微修改data以适应json格式。
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'])https://stackoverflow.com/questions/55711548
复制相似问题