Недопустимый символ в CSV .writerow - PullRequest
0 голосов
/ 28 июня 2019

Я использую Python 3.7 для записи файла .csv со сборкой в ​​lib csv. Ошибка возникает, если на входе содержится символ Unicode «Белая пуля» https://unicode -table.com / ен / поиск / д =% E2% 97% A6 :

Код:

with open(filename, 'w', newline='', encoding='ansi') as csvfile:
            filewriter = csv.writer(csvfile, delimiter=';', quoting=csv.QUOTE_MINIMAL)

filewriter.writerow(['H', debitor, None, customer_name, notes, setup.HQ])

Ошибка: 'mbcs' codec can't encode characters in position 0--1: invalid character

Это ошибка или есть какое-то ограничение, о котором я не знаю?

1 Ответ

1 голос
/ 28 июня 2019

Кодировка ANSI (читайте об этом в этот вопрос или на этой странице википедии ) НЕ имеет символа "белая пуля", поэтому просто невозможно представить, что символ с кодировкой ANSI.

У вас есть три варианта:

  1. Измените кодировку на такую, которая поддерживает этот конкретный символ, например utf-8 или другую кодировку.
  2. Пропустить / удалить этот символ.
  3. Замените этот символ на что-то другое, допустимое в кодировке ANSI.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...