Заменив "\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, метатеги и т. Д.), А затем все очищенные строки должны быть правильными.