使用forloop从jsond访问特定的键/值对

2024-06-28 11:01:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从JSON数据中的两个特定项中提取键/值对

数据如下所示:

[{"voc": "UAT",
"concepts":[{"prefLabel":"Solar system",
    "uri":"http://astrothesaurus.org/uat/1528", "score":"15" },
    {"prefLabel":"X-ray astronomy",
    "uri":"http://astrothesaurus.org/uat/1810", "score":"9" },
    {"prefLabel":"Gamma-ray astronomy",
    "uri":"http://astrothesaurus.org/uat/628", "score":"9" }
]}]

我只是尝试使用for循环来检索prefLabel和score,该循环将它们保存到元组中,以便稍后附加到我当前的空数据列表中

这是我当前的循环,但它返回“错误类型”错误:

for concepts in voc_list:
    for prefLabel, score in concepts.items():
        data_tuple = (prefLabel, score)
        data.append(data_tuple)`

感谢您的帮助


Tags: 数据orghttpfordata错误urivoc
1条回答
网友
1楼 · 发布于 2024-06-28 11:01:22

您可以搜索词典列表,并在key与所需字符串匹配时附加到data列表:

for d in voc_list[0]['concepts']:
    for k, v in d.items():
        if k == 'prefLabel':
            data.append((k, v))

相关问题 更多 >