Заменив "\xf3" и "\xe9" их нормальными формами

Я собираю данные с веб-сайта, на котором есть буквы не английского алфавита, такие как Vitória, которые полностью запутывают мои данные, так как вывод Vit \xf3ria.

Как заменить \xf3 и другие подобные?

пс:

text.replace('\xf3', '') 

не работает. И, если возможно, я бы хотел, чтобы - или такие буквы отображались и сохранялись в формате CSV.

3 ответа

Решение

Я понял ответ благодаря помощи в комментариях: credits: @SIM, @match, @tmadam и @dax

вот оно.

text.encode('utf-8').strip()

Спасибо всем.

код как есть:

...
for cell2n3 in row.findAll('div', attrs={'class': 'KambiBC-event-participants__name'}):
    cell2n3append.append(cell2n3.text.encode('utf-8').strip())
...

ps в терминале вывод как прежде... например.

до ('Cear \ xe1-CE') -> сейчас ('Cear \ xc3 \ xa1-CE')

но в CSV это Ceará-CE

В Python 3:

>>> bytes('Vit\xf3ria', 'unicode-escape').decode('unicode-escape')
'Vitória'

Исправьте ошибки кодирования как можно раньше, а не с поздней заменой символов.

Поэтому вместо того, чтобы исправлять кодировки извлеченных строк, читайте правильную кодировку веб-страницы как можно раньше (используйте заголовки http, метатеги и т. Д.), А затем все очищенные строки должны быть правильными.

Другие вопросы по тегам