Python 从具有多个json根的数据集抓取
我有一个具有多个JSON根的数据集,并尝试访问每个JSON对象的每个类别的值 因此,我拥有的数据集来自:Python 从具有多个json根的数据集抓取,python,json,Python,Json,我有一个具有多个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
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":[
]
}
}
在本例中,我只使用了两个相同的数据集,尽管实际上其中的三个数据集具有相同的键和类别,只是值不同
我试图实现的是为每个数据集的每个类别获取“passed_count”的值
python中是否存在拆分上述两个数据集(在数据中)的方法,以便我可以通过执行类似操作来访问这些值
for value in data1:
print(value['passed_count'])
## 1
## 0
for value in data2:
print(value['passed_count']
## 3
## 0
编辑:
为了澄清起见,数据
变量是在For循环中创建的。因此,当iprint(data)
时,它返回3个字典(因此是多个根)。我试图从这个变量中提取数据,而我应该将这个变量拆分成3个单独的字典,或者格式化它们,以便能够从中获取值 您可以抓取这些键,然后只需使用索引位置作为“data1”、“data2”等,就可以遍历这些键:
注意:
我不得不稍微修改数据
,以适应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'])
上面显示的数据
不是有效的json格式。你能修好吗?啊。好啊我懂了。但它总是以相同的“形式”存在吗?如果是,你可以简单地把它作为一个字符串读入,做一点字符串操作,然后使用它,那么json文件的每个根是否都在单独的行上?我也假设你是从文本或json文件读入的?我想我需要查看您获得的数据源,以便找出如何将其转换为python,然后解析itok。在你的for循环
中,将每个数据
附加到一个列表中,这样你就有了这些元素的列表。我知道这是如何工作的,但不知道如何获取我的数据
变量,并使其采用你必须能够获取这些值的格式。我认为你必须“构造”这是因为你正在循环,使设置。