python — данные JSON в CSV — перебор всех данных JSON и экспорт в CSV

#json #python-3.x #python-requests #export-to-csv

#json #python-3.x #python-запросы #экспорт в csv

Вопрос:

Я пытаюсь экспортировать все данные JSON (ниже), хранящиеся в переменной response2, в файл CSV. Когда я запускаю полный код, он экспортирует только первый элемент из переменной response2. Заголовки CSV работают отлично, но заполняются не все строки, только первая экспортируется в CSV. как мне перебрать и экспортировать все ключи и значения в CSV?

Извините, я все еще изучаю python, пожалуйста, помогите

 [{'device_name': 'fk6sdc2', 'device_timestamp': '2020-10-27T00:50:46.176Z', 'event_id': '9b1bvf6e17ee11eb81b', 'process_effective_reputation': 'LIST', 'process_hash': ['bfc7dcf5935830f3a9df8e9b6425c37a', 'ca9f3a24506cc518fc939a33c100b2d557f96e040f712f6dd4641ad1734e2f19'], 'process_name': 'c:\program files (x86)\toh122soft\thcasdf3\toho34rce.exe', 'process_username': ['JOHN\user1']}, {'device_name': 'fk6sdc2', 'device_timestamp': '2020-10-27T00:50:46.176Z', 'event_id': '9b151f6e17ee11eb81b', 'process_effective_reputation': 'LIST', 'process_hash': ['bfc7dcf5935f3a9df8e9b6830425c37a', 'ca9f3a24506cc518fc939a33c100b2d557f96e040f712f6dd4641ad1734e2f19'], 'process_name': 'c:\program files (x86)\oft\tf3\tootsice.exe', 'process_username': ['JOHN\user2']}, {'device_name': '6asdsdc2', 'device_timestamp': '2020-10-27T00:50:46.176Z', 'event_id': '9b151f698e11eb81b', 'process_effective_reputation': 'LIST', 'process_hash': ['9df8ebfc7dcf5935830f3a9b6425c37a', 'ca9f3a24506cc518ff6ddc939a33c100b2d557f96e040f7124641ad1734e2f19'], 'process_name': 'c:\program files (x86)\toht\th3\tohce.exe', 'process_username': ['JOHN\user3']}]

r = requests.get(hostname   url_results   searchjobid   "/results", headers=headers)
res = json.loads(r.text) 
response2 = response["results"]


csv_writer = csv.writer(open('events.csv', 'w', newline=''))

csv_writer.writerow(["device_name", "device_timestamp", "event_id", "process_effective_reputation",
                     "process_hash", "process_name", "process_username"])

for evs in response2:
    csv_writer.writerow([evs["device_name"],
                         evs["device_timestamp"],
                         evs["event_id"],
                         evs["process_effective_reputation"],
                         evs["process_hash"],
                         evs["process_name"],
                         evs["process_username"]])
  

Спасибо

Комментарии:

1. Я рекомендую удалить requests часть из вопроса и подтвердить, что проблема возникает с фиксированным dict, который показан вверху.

2. Кажется, мне пишут все 3 строки: repl.it/repls/AjarPricklyRuntime

3. спасибо njzk2, по какой-то причине я ничего не изменил, просто перезапустил pycharm .. странно, спасибо за проверку, хотя