Python DictWriter, пишущий UTF-8 закодированные файлы CSV

  1. У меня есть список словарей, содержащих строки Юникода.
  2. csv.DictWriter может записывать список словарей в файл CSV.
  3. Я хочу, чтобы файл CSV был быть в кодировке UTF8.
  4. Модуль csv не может обрабатывать преобразование строк Unicode в UTF8.
  5. В документации модуля csv есть пример преобразования всего в UTF8:

     def utf_8_encoder (unicode_csv_data):
     для строки в unicode_csv_data:
     yield line.encode ('utf-8')
    
  6. Он также имеет класс UnicodeWriter .

Но ... как мне заставить DictWriter работать с ними? Разве им не пришлось бы внедряться в его середину, чтобы поймать дизассемблированные словари и закодировать их, прежде чем он запишет их в файл? Я не понимаю.

51
задан Michael 28 December 2017 в 13:17
поделиться