Зачистка странно отформатированных чисел с помощью Beautifulsoup - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь почистить таблицу HTML, используя BS4 Python, но для чисел, отформатированных таким образом, 247 759 384 (read as 247759384) в HTML выглядят по-разному в Python. Я хотел бы вывести их так, как они есть в таблице.

temp = []
a = soup.findAll('tr')[1]
for td in a.find_all("td"):
    temp.append(str(td.text))
    #print(str(td.text))
a.findAll('td')[10].text

дает мне вывод

'24\xa0081\xa0728'

вместо

24081728

Ответы [ 2 ]

1 голос
/ 09 ноября 2019

Просто проверьте, являются ли ваши символы числами, используя isnumeric()

string='24\xa0081\xa0728'
''.join(e for e in string if e.isnumeric())
'24081728'
0 голосов
/ 09 ноября 2019

\xa0 - это неразрывный пробел в юникоде.

Быстрый способ исправить это - просто заменить его пробелом ascii (используя, скажем, string.replace(u'\xa0', ' ')),Но будьте осторожны, могут быть и другие проблемы с кодировкой, которые вы еще не заметили.

Я бы рекомендовал сначала прочитать это и обработать его более понятным способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...