Как я могу писать такие символы, как äöü в файле Excel, не получая UnicodeDecodeError

Я хочу использовать xlwt для создания файла Excel. Однако некоторые строки содержат такие буквы, как ä, ü и ö. Поэтому я получаю UnicodeDecodeError. Можно ли это исправить?

Я перенес свой код с 3.5 (IDLE) на 2.7 (Pycharm). В 3.5 работало, наверное потому что не нужно было ставить

# coding=utf-8  
# -*- coding: iso-8859-1 -*-  

в начале кода в 3.5...

# coding=utf-8
# -*- coding: iso-8859-1 -*-
import xlwt

name_of_new_file = "Test.xls"
workbook_new = xlwt.Workbook()
worksheet = workbook_new.add_sheet("Testing")
worksheet.write(0, 0, "ä")  # it works if I write an "a" instead
workbook_new.save("C:\\...\\Test123.xls")

Я почти уверен, что проблема связана с первыми двумя строками. В сообщении об ошибке говорится: UnicodeDecodeError: кодек ascii не может декодировать байт 0xc3 в позиции 19: порядковый номер не в диапазоне (128)


person Martin Clever    schedule 25.07.2019    source источник
comment
Можете ли вы вместо этого создать файл xlsx (с другой библиотекой)?   -  person Tom Blodget    schedule 25.07.2019
comment
@TomBlodget Нет, та же ошибка ... (я пробовал xlsxwriter)   -  person Martin Clever    schedule 25.07.2019
comment
Вы действительно должны использовать Python3 сейчас.   -  person jsbueno    schedule 25.07.2019
comment
Кроме того, ваш файл либо находится в utf-8 ИЛИ в iso-8859-1 - он не может быть в обеих кодировках - ваши первые две строки дают противоречивую информацию (-*-s, : или = сахар игнорируется Python). Он будет использовать информацию, которую найдет первой.   -  person jsbueno    schedule 25.07.2019


Ответы (1)


в python 2 кодировка тысячная

worksheet.write(0, 0, u"ä")

person alexzshl    schedule 25.07.2019