Python: вызову upper() для слов, содержащих нелатинские символы
У меня есть файл со словами в строках, ex
А
б
Вв
Гг
(нелатинские буквы) и т. д.
Я хочу получить это:
А
Б
ВВ
ГГ
пока после запуска кода не вижу изменений
вот код:
f = open('sample.csv')
for line in f:
for sampleword in line.split():
print sampleword.upper()
Нелатинские символы не прописываются. В чем проблема?
1 ответ
Решение для заглавных букв нелатинских букв в Python 2 заключается в использовании строк Unicode:
words = [u'łuk', u'ćma']
assert [w.upper() for w in words] == [u'ŁUK', u'ĆMA']
Чтобы прочитать юникод из файла, вы можете обратиться к официальному руководству по Python:
Поэтому чтение Unicode из файла очень просто:
import codecs
f = codecs.open('unicode.rst', encoding='utf-8')
for line in f:
print repr(line)