Ошибка импорта данных в модель в Django - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь импортировать данные из CSV-файла в модель Django.Для этого я использую оболочку manage.py со следующим кодом:

>>> import csv
>>> import os
>>> path =  "C:\\Users\Lia Love\Downloads" 
>>> os.chdir(path) 
>>> from catalog.models import ProductosBase
>>> with open('FarmaciasGob.csv') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...             p = Country(country=row['Country'], continent=row['Continent'])
...             p.save()
...
>>>
>>> exit()

В заданной точке набора данных я получаю следующее сообщение об ошибке:

UnicodeDecodeError: "charmap" codec can´t decode byte 0x81 in position 7823: character maps to (undefined)

Для чегоЯ мог бы найти, кажется, это проблема с «латинской» кодировкой файла CSV.

Осматривая CSV, я не вижу ничего особенного в конкретной строке, в которой он получает ошибку.Я могу импортировать около 2200 строк до этой, все с латинскими символами.

Любые подсказки?

1 Ответ

0 голосов
/ 23 ноября 2018

Если вы находитесь в python3, это проблема кодировки символов вашего файла.Скорее всего, это кодировка 'utf-8', но это также может быть 'utf-16', 'utf-16le', 'cp1252' или 'cp437', которые также часто используются.В python3 вы можете указать кодировку файла на open:


with open('FarmaciasGob.csv'<b>, encoding='utf-8'</b>) as csvfile:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...