Это простейший пример словаря, созданного json.load, что я т иметь дело с:Multiple ДЛЯ петель в Перебор словаря в Python
{
"name": "USGS REST Services Query",
"queryInfo": {
"timePeriod": "PT4H",
"format": "json",
"data": {
"sites": [{
"id": "03198000",
"params": "[00060, 00065]"
},
{
"id": "03195000",
"params": "[00060, 00065]"
}]
}
}
}
Иногда может быть 15-100 сайтов с неизвестным наборов параметров на каждом сайте. Моя цель состоит в том, чтобы либо создать два списка (один из которых хранит идентификаторы «сайта» и другие хранимые «параметры») или значительно упрощенный словарь из этого оригинального словаря. Есть ли способ сделать это, используя вложенные для циклов с байтами, парами значений, используя метод iteritem()?
То, что я пытался далеко это:
queryDict = {}
for key,value in WS_Req_dict.iteritems():
if key == "queryInfo":
if value == "data":
for key, value in WS_Req_dict[key][value].iteritems():
if key == "sites":
siteVal = key
if value == "params":
paramList = [value]
queryDict["sites"] = siteVal
queryDict["sites"]["params"] = paramList
Я бегу в проблемы с получением второй цикл работы. Я еще не просмотрел списки.
Я думаю, что это может быть глупый способ сделать это, но я пока не вижу вокруг него.
Две вещи - вам где-то не хватает скобки? и что делает queryID? Является ли queryID новым словарем, который вы предлагаете использовать там? – traggatmot
Я думаю, что скобки в порядке, но 'queryId' - это то, как я записал результирующее' dict' - редактирование, чтобы использовать 'queryDict', как вы изначально, и не повод для изменения его имени. –
Можете ли вы мне помочь прояснить эту ошибку: «TypeError: строковые индексы должны быть целыми» – traggatmot