Написание CSV-файла с ответом Json с использованием python, неспособного выполнить вложенную итерацию. Я получаю KeyError - PullRequest
0 голосов
/ 08 ноября 2019

Используя python, я хочу написать этот ответ в CSV-файл. Я могу выполнить итерацию по «Категории», но когда я пытаюсь выполнить вложенную итерацию, используя «NextLevel», я получаю KeyError.

У меня есть этот json

{

"Category": [{"Name": "Account", "Value": "38411", "NextLevel": [{"Name": "Service", "Value": "IoT AWS", "NextLevel": [

           ]
        },
        {
           "Name":"Service",
           "Value":"DynamoDB",
           "NextLevel":[

           ]
        },
        {
           "Name":"Service",
           "Value":"SNS",
           "NextLevel":[

           ]
        }
     ]
  },
  {
     "Name":"Account",
     "Value":"4693",
     "NextLevel":[
        {
           "Name":"Service",
           "Value":"Support Business",
           "NextLevel":[

           ]
        },
        {
           "Name":"Service",
           "Value":"SNS",
           "NextLevel":[

           ]
        }
     ]
  }

]}

После загрузки JSON, запись в файл CSV

rsp_data = resp ['Category']

открыть файл для записи

resp_data = open ('Report.csv', 'r +')

создать объект записи csv

csvwriter = csv.writer (resp_data)

count = 0

для rsp в rsp_data:

  if count == 0:

         header = rsp.keys()

         csvwriter.writerow(header)

         count += 1

  csvwriter.writerow(rsp.values())

resp_data.close ()

Я могу добраться до этой точки:

Имя, значение, учетная запись NextLevel, 38411, [{"Name": "Service", "Value": "IoT AWS", "NextLevel": []}, "Name": "Service", "Value": "DynamoDB"," NextLevel ": []}," Name ":" Service "," Value ":" SNS "," NextLevel ": []} Account, 4693, [{" Name ":" Service "," Value ": "Поддержка бизнеса", "NextLevel" []}, {"Имя":" Service "," Value ":" SNS "," NextLevel ": []}]

, но мне нужно перебрать 'NextLevel', но я получаю KeyError.

Iнужен этот вывод в CSV-файле:

Имя, Значение

Учетная запись, 38411

Сервис, AWS IoT

Сервис, DynamoDB

Сервис, SNS

Аккаунт, 4693

Сервис, Поддержка бизнеса

Сервис, SNS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...