Запись CSV-файла с помощью умляутов, вызывающих «кодек UnicodeEncodeError: 'ascii', не может кодировать символ"

Я пытаюсь написать персонажей с двойными точками (умлауты), такими как ä, ö и Ö. Я могу записать его в файл с data.encode("utf-8") но результат b'\xc3\xa4\xc3\xa4\xc3\x96' не является приятным (UTF-8 как буквенные символы). Я хочу получить "ääÖ" как записанный в файл.

Как я могу писать данные с символами умляута в CSV-файл в Python 3?

 import csv data="ääÖ" with open("test.csv", "w") as fp: a = csv.writer(fp, delimiter=";") data=resultFile a.writerows(data) 

Выслеживать:

 File "<ipython-input-280-73b1f615929e>", line 5, in <module> a.writerows(data) UnicodeEncodeError: 'ascii' codec can't encode character '\xe4' in position 15: ordinal not in range(128) 

  • Как правильно разобрать HTML в кодировке UTF-8 в строки Unicode с помощью BeautifulSoup?
  • Печать строки unicode в python независимо от среды
  • UnicodeDecodeError: кодек «utf-8» не может декодировать ошибку байта
  • Общая поддержка Unicode / UTF-8 для файлов csv в Python 2.6
  • Как декодировать строку, представляющую utf-8 с помощью python?
  • кодирование python utf-8
  • Почему мы не должны использовать sys.setdefaultencoding («utf-8») в скрипте py?
  • Python ascii utf unicode
  • 2 Solutions collect form web for “Запись CSV-файла с помощью умляутов, вызывающих «кодек UnicodeEncodeError: 'ascii', не может кодировать символ"”

    Добавьте encoding параметров в open() и установите ее в 'utf8' .

     import csv data = "ääÖ" with open("test.csv", 'w', encoding='utf8') as fp: a = csv.writer(fp, delimiter=";") a.writerows(data) 

    Редактировать: Удалено использование библиотеки io как open такое же, как и io.open в Python 3.

    Это решение должно работать как на python2, так и на 3 (не требуется в python3):

     #!/usr/bin/env python # -*- coding: utf-8 -*- import csv data="ääÖ" with open("test.csv", "w") as fp: a = csv.writer(fp, delimiter=";") a.writerows(data) 

    Кредиты на: Работа с кодировкой utf-8 в источнике Python

    Interesting Posts

    Почему pip устанавливает matplotlib версии 0.91.1, когда PyPi показывает версию 1.0.0?

    Не удалось загрузить DLL-модуль python в PyCharm. Работает отлично в IPython

    Как выполнить запрос с `WHERE value IN list` в Python Peewee ORM?

    Переменная экземпляра Python как параметр по умолчанию

    Декораторы для выборочного кеширования / заметок

    Обнаружение пикселированного изображения в python

    Редактировать тензорный поток inceptionV3 retraining-example.py для нескольких классификаций

    Как я могу показать модальный диалог PyQt и получить данные из своих элементов управления после его закрытия?

    Как установить DMG-файл из командной строки?

    подгонка экспоненциального распада без первоначального угадывания

    Запросы дросселирования с несколькими прокси-серверами

    Удалить строки из списка, содержащего числа в python

    Python: выбор конкретного исключения

    Подсчет ненулевых значений в каждом столбце фрейма данных в python

    Арифметика высокой точности в Python и / или C / C ++?

    Python - лучший язык программирования в мире.