Django CSV загружает UploadForm в базу данных Clean

я хотел бы сохранить данные из моего загруженного CSV-файла, называемого

файл данных

Я не могу перебрать строки по имени столбца в моем CSV-файле. Я получаю ошибки кодирования (UTF, ASCII), также когда я использую строку ввода-вывода. Я новичок в django, поэтому не знаю, что я делаю не так.

Я попытался сделать это, на мой взгляд, с помощью:

def upload(request): 
 form = UploadForm(request.POST, request.FILES)
   if form.is_valid():
           f = io.TextIOWrapper(form.cleaned_data['data_file'].file, enconding='utf-8')
            reader = csv.DictReader(f)
            for column in reader:
print(column['Customer Name'])

ошибка, которую я получаю:

Кодек utf-8 не может декодировать байты в позиции 10-11: неверный байт продолжения

Изменил его на "latin-1" (см. комментарии) Выдает ошибку

строка содержит NULL байт

У меня нет значений NULL в моем файле CSV


person Pearl    schedule 07.10.2019    source источник
comment
Я предполагаю, что у вас неправильная кодировка. Не могли бы вы попробовать изменить 'utf-8' на 'latin-1'?   -  person Nico Griffioen    schedule 07.10.2019
comment
Спасибо, я думаю, это работает .. Я получил новую строку ошибки, содержащую NULL байт. В моем файле нет нулевых значений.   -  person Pearl    schedule 08.10.2019
comment
байт NULL означает не нулевое значение в вашем CSV, а скорее определенный тип некодируемого байта в вашем CSV-файле. Внимательно проверьте ввод по указанному номеру строки.   -  person Nico Griffioen    schedule 08.10.2019
comment
Спасибо проблема решена...   -  person Pearl    schedule 24.10.2019


Ответы (1)


Ответ был:

f.readline()

первая строка была пустой

person Pearl    schedule 22.10.2019