Проблемы с импортом 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)