UnicodeEncodeError: 'ascii' code c не может закодировать символ u '\ u0627' в позиции 0: порядковый номер не в диапазоне (128) - PullRequest
0 голосов
/ 08 января 2020

Я получил ошибку в заголовке, когда я пытался сохранить данные в CSV-файл, и я не знаю, как исправить.

# -*- coding: utf-8 -*-
keys = sorted(self.Details.keys())     #### 1st sort the values of dictionary list
with open("test.csv", "wb") as outfile:    
    writer = csv.writer(outfile, delimiter = "\t")
    writer.writerow(keys)
    writer.writerows(zip(*[self.Details[key] for key in keys]))

1 Ответ

1 голос
/ 08 января 2020

Значение по умолчанию для csv при записи - ascii, но в ваших данных есть строки, не входящие в ascii, поэтому, если вы используете python3, попробуйте:

with open("test.csv", "wb", encoding='utf-8')

Если вы используете python2, вы можете попробовать этот пакет unicodecsv: https://pypi.org/project/unicodecsv/

...