CSV в JSON python - ошибка в созданном JSON файле - PullRequest
0 голосов
/ 11 апреля 2020

Я довольно новичок в Python и пытаюсь преобразовать CSV-файл в JSON файл. (Файл CSV создается из ЗДЕСЬ )

Итак, я успешно создаю файл CSV с этим. Это для проекта колледжа, поэтому я демонстрирую, что я могу создать файл JSON из CSV и хочу проверить правильность структуры данных перед записью в MongoDB.

Я использую приведенный ниже фрагмент кода, чтобы сделать это:

    data = {}
    csv_file = open('Covid_19_Raw_Data.csv', 'r')
    csvReader = csv.DictReader(csv_file)

    if os.path.exists("json_Raw_Data.json"):
        os.remove("json_Raw_Data.json")

    with open('json_Raw_Data.json', 'w', encoding='utf-8') as jsonFile: 
        for rows in csvReader: 
            json.dump(rows, jsonFile)
            jsonFile.write('\n')
    jsonFile.close()

У меня проблема, когда я пытаюсь проверить json, я получаю следующую ошибку:

Ошибка: ошибка разбора в строке 93: ..., "4/10/20": "0"} {"UID": "316", "i ---------- ----------- ^ Ожидая 'EOF', '}', ',', ']', получил '{'

Любая идея, что я могу сделать, чтобы исправить это? Строка 93 - конец первой записи многих.

1 Ответ

0 голосов
/ 11 апреля 2020

Хотя каждая записанная строка действительна json, все содержимое не является. JSON данные должны быть либо массивом допустимых JSON значений, либо словарем / объектом, содержащим их.

Самый простой способ исправить это - запустить файл с одним [ и завершить sh с ], тогда у вас есть действительное JSON.

Обновление: как правильно указано user3600952, строки также должны быть разделены запятыми.

...