Извлечение чисел из строки с помощью xpath и python 3.6
Я не мог применить решение к подобным вопросам, которые я нашел здесь. После использования этого в визуальном коде, чтобы очистить веб-страницу с Python и LXML
[...]
tree = html.fromstring(browser.page_source)
data = tree.xpath('//tr[@title="something"]/td[2]/text()')
если я напечатаю (данные), я получу этот список. Являются ли данные списком?
['\n 1.27\n ', '\n 1.81\n ', '\n 4.90\n ', '\n
2.07\n ', '\n 2.12\n ']
Моя цель - извлечь только число из каждой строки. Я читал о функции регулярного выражения, не уверен, что это решение
replace($MyString, '[^0-9]', '')
2 ответа
Простой метод будет использовать strip()
, Вы можете очистить список, выполнив что-то вроде:
clean_data = [d.strip() for d in data]
который даст вам:
['1.27', '1.81', '4.90', '2.07', '2.12']
если вы хотите, чтобы это было актуально int
s, просто используйте int(d.strip())
вместо
Представим, что ваш вывод хранится в переменной x
:
>>> print("\n".join([y.strip() for y in x]))
1.27
1.81
4.90
2.07
2.12
Это поможет? Или вам нужен список, в этом случае:
>>> print([y.strip() for y in x])
['1.27', '1.81', '4.90', '2.07', '2.12']
[ОБНОВИТЬ]
Для
Являются ли данные списком?