Итак, я извлекаю данные в формате JSON из API, в котором есть указания и несколько списков. Данные, которые я извлекаю, анализируются и печатаются правильно, они сохраняются в CSV, что является проблемой.
r=requests.get(url,headers=header)
result=r.json()
for log in result['logs']:
print('Driver ID: ', log['log']['driver']['username'])
print('First Name: ', log['log']['driver']['first_name'])
print('Last Name: ', log['log']['driver']['last_name'])
for event in log['log']['events']:
print('ID: ', event['event']['id'])
print('Start Time: ', event['event']['start_time'])
print('Type: ', event['event']['type'])
print('Location: ', event['event']['location'])
with open ('data.csv','w') as csvfile:
f=csv.writer(csvfile)
f.writerow(['username','first_name'])
for elem in result['logs']:
f.writerow([elem['log']['driver']['username']],elem[log['log']['driver']['first_name']]])
Я только начинаю добавлять имя пользователя и имя в CSV, но получаю сообщение об ошибке:
KeyError: 'Robert'
Важно отметить, что «Роберт» - это не имя пользователя, это имя. Кроме того, это последний результат в ответе JSON, разве логика не должна начинаться сверху? Есть идеи как это исправить?
Это API, из которого я получаю данные, конечная точка - / logs:
https://developer.keeptruckin.com/reference#get-logs