#python #csv #file-conversion #ndjson
#python #csv #преобразование файлов #ndjson
Вопрос:
В настоящее время мой файл загружен следующим образом:
import ndjson
with open('full_simplified_arm.ndjson') as f:
data = ndjson.load(f)
Тем не менее, я хотел бы преобразовать этот файл в csv на Python и задавался вопросом, как это сделать? Спасибо
Ответ №1:
Вы могли бы сделать это с csv.DictWriter
помощью .
Загружая данные ndjson.load
, они сохраняются в этой форме.
[{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}, {'id': 3, 'name': 'Carol'}]
Вы могли бы взять ключи из первого элемента в списке в качестве имен полей таблицы.
fields = data[0].keys()
Затем определите a csv.DictWriter
для записи заголовка и строк.
writer = csv.DictWriter(f, fieldnames=fields)
writer.writeheader()
for item in data:
writer.writerow(item)
Полное решение:
import csv
import ndjson
with open('./users.ndjson', 'r') as f:
data = ndjson.load(f)
with open('./users.csv', 'w', newline='') as f:
# I'm assuming that each item has the same keys
fields = data[0].keys()
writer = csv.DictWriter(f, fieldnames=fields)
writer.writeheader()
for item in data:
writer.writerow(item)
Ввод
{"id":1,"name":"Alice"}
{"id":2,"name":"Bob"}
{"id":3,"name":"Carol"}
Вывод
id,name
1,Alice
2,Bob
3,Carol
Примечание: Образец данных был получен онлайн