Проблемы с импортом CSV-данных в команде пользовательского управления Django (ошибка разбора DictReader)

Привет всем,

Я работаю над проектом Django, в котором мне нужно импортировать вопросы из CSV-файла в базу данных с помощью пользовательской команды управления. Однако я столкнулся с проблемой разбора строк CSV.

Вот что я делаю:

Я использую csv.DictReader для чтения CSV-файла. Мой CSV-файл содержит такие столбцы, как предмет, тема, уровень_сложности, текст, варианты, правильный_вариант и изображение. Вот пример моего CSV:

предмет,тема,уровень_сложности,текст,варианты,правильный_опцион,изображение Физика,Термодинамика,2, «Вычислите ( W = P \cdot \Delta V ) для ( P = 100 , кПа ).»,«{»«A»«:»«100 Дж»«,»«B»«:»«200 Дж»«,»«C»«:»«300 Дж»«,»«D»«:»«400 Дж»«}», «A», «question_images/thermo_diagram.png» Math,Calculus,3, «Evaluate ( \int_0^1 x^2 dx ).»,«{»«A»«:»«1/2»«,»«B»«:»«1/3»«,»«C»«:»«1/4»«,»«D»«:»«1/5»«}», «B»,«»

Вот с какой проблемой я столкнулся:

Когда я запускаю команду управления, DictReader, похоже, не может правильно разобрать строки. Я получаю ошибки типа:

javascript Скопировать код Ошибка при импорте вопроса: Unknown - 'subject' Отладка показывает, что вся строка считывается как единая пара ключ-значение, а не разбивается на отдельные поля.

Я пробовал:

Убедитесь, что CSV-файл имеет кодировку UTF-8. Добавление отладки для подтверждения необработанного содержимого CSV. Вот мой текущий фрагмент кода для чтения CSV:

python Скопируйте код with open(csv_file, newline='', encoding='utf-8-sig') as file: reader = csv.DictReader(file) for row in reader: print(«Разобранная строка:», row) # Отладка Что может заставить DictReader рассматривать весь ряд как одну пару ключ-значение? Как правильно разобрать CSV на такие поля, как тема, тема и т. д.?

Любая помощь будет очень признательна!

должен сделать работу =)

тестировал на вашем примере

with open(csv_file, "r") as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)
Вернуться на верх