Найти - Пользователи
Полная версия: python работа с кириллицей
Начало » Python для новичков » python работа с кириллицей
1 2
AlexModestov
Коллеги, добрый день!
Python не понимает массив из слов на кириллице…
При выводе в ipython notebook он заменяет символы кодами.
Есть ли возможность корректной работы с русскими текстами?
Спасибо!
Zeclone
AlexModestov
Коллеги, добрый день!Python не понимает массив из слов на кириллице…При выводе в ipython notebook он заменяет символы кодами.Есть ли возможность корректной работы с русскими текстами?Спасибо!

да есть.
М.Доусон ___ Программирование на Питон
J.R.
AlexModestov
Есть ли возможность корректной работы с русскими текстами?
Python3
>>> x = 'Кириллический текст'
>>> x
'Кириллический текст'
>>> x = ['Слово', 'Серебро', 'Молчание', 'Золото']
>>> x
['Слово', 'Серебро', 'Молчание', 'Золото']
AlexModestov
J.R.
Спасибо!
Только забыл пояснить… у меня python 2.7
Датафрейм понимает русские названия, делаю преобразование np.array()
Получаю:
'\xd0\xa1\xd0\xbb\xd1\x83\xd1\x88\xd0\xb0\xd0\xb9 \xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8f \xd0\xb2\xd0\xbd\xd0\xb8\xd0\xbc\xd0\xb0\xd1\x82\xd0\xb5\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xbe'
J.R.
AlexModestov
Я только ответил на ваш вопрос.

Что касается второго питона, у него в дефолте кодировка ASCII, поэтому кириллический текст вы будете в интерпретаторе видеть либо в виде байт-кода, либо в виде юникод-строк.

>>> x = 'Слушай меня внимательно'
>>> y = x.decode('utf-8')
>>> x
'\xd0\xa1\xd0\xbb\xd1\x83\xd1\x88\xd0\xb0\xd0\xb9 \xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8f \xd0\xb2\xd0\xbd\xd0\xb8\xd0\xbc\xd0\xb0\xd1\x82\xd0\xb5\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xbe'
>>> y
u'\u0421\u043b\u0443\u0448\u0430\u0439 \u043c\u0435\u043d\u044f \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e'
>>> 
Увы..! Иногда отладочные print -ы сводят неудобство к минимуму.
>>> print y
Слушай меня внимательно
>>> print x
Слушай меня внимательно
>>> 
AlexModestov
J.R.
AlexModestovЯ только ответил на ваш вопрос.Что касается второго питона, у него в дефолте кодировка ASCII, поэтому кириллический текст вы будете в интерпретаторе видеть либо в виде байт-кода, либо в виде юникод-строк.
На отладке-то я понимаю, print помогает.
Просто при записи в файл ерунда…
Указываю в коде:
# -*- coding: utf-8 -*-
J.R.
AlexModestov
Тогда показывайте свой код. Что пишете в файл, и что получаете.
AlexModestov
J.R.
AlexModestovТогда показывайте свой код. Что пишете в файл, и что получаете.
Вот кусок кода:

f = open('results.csv', ‘a’)
f.write('ID' + ‘;’)
f.write('rec')
f.write('\n')
for el in list.items():
f.write(el + ‘;’)
f.write(el)
f.write('\n')
f.close()

list - словарь, который содержит ID и рекомендацию. На выходе я хочу, получить файл с ID и рекомендацией в csv-формате.

Рекомендация как и выше по переписке: “Слушай меня внимательно” (всего лишь название песни)
Получаю в файле следующее:

ID rec
3534345345 Слушай меня внимательно
J.R.
AlexModestov
Рекомендация как и выше по переписке: “Слушай меня внимательно” (всего лишь название песни)
Как она (строка с названием песни) попадает в ваш словарь?

AlexModestov
Указываю в коде:
# -*- coding: utf-8 -*-
А файл с кодом в какой кодировке?
AlexModestov
J.R.
Как она (строка с названием песни) попадает в ваш словарь?
Есть таблица в csv, все это загружаю в датафрейм, потом делаю работу с датафреймом, через groupby и потом столбец с песнями преобразую в массив np.array() и верхнюю выборку по песням сохраняю в файл.

J.R.
А файл с кодом в какой кодировке?
признаюсь честно… не знаю… не так много работаю с python.
работаю в ipython notebook.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB