Django-Import-Export для импорта CSV, как работать с u '\ ufeff, проблема с UTF-8 BOM? - PullRequest
0 голосов
/ 28 ноября 2018

Когда я пытаюсь импортировать файл CSV с помощью модулей django-import-export, выдает эту ошибку,

KeyError: u "Идентификатор столбца" не найден в наборе данных. Доступны следующие столбцы: [ u '\ ufeffid ', u'username ', u'name', u'email '] "

1 Ответ

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

Это работает для меня, изменив кодировку модуля django-import-export в классе ImportMixin в файле import_export / admin.py,

Измените from_encoding = "utf-8" на from_encoding = "utf-8-sig", как показано ниже.

class ImportMixin(ImportExportMixinBase):
    """
    Import mixin.
    """

    #: template for change_list view
    change_list_template = 'admin/import_export/change_list_import.html'
    #: template for import view
    import_template_name = 'admin/import_export/import.html'
    #: resource class
    resource_class = None
    #: available import formats
    formats = DEFAULT_FORMATS
    #: import data encoding
    from_encoding = "utf-8-sig"
    skip_admin_log = None
    # storage class for saving temporary files
    tmp_storage_class = None
...