Я пытаюсь прочитать html-таблицу с python, которая выглядит следующим образом:
+------------+---------+
| ID | Value |
+------------+---------+
| 1 | 12 098 |
| 2 | 20 |
| 3 | 123 456 |
+------------+---------+
В html-коде элементы выглядят так:
<span> 123 456</span>
Панды читают это как объект, но мне нужно, чтобы он был числовым.Я попытался:
df_tables=pd.read_html(table_html,header=0,thousands=' ')
и
df_tables=pd.read_html(table_html,header=0,thousands=' ')
Но столбец всегда «объект».
Я попытался привести к плавающему:
df_table['Value']=df_table['Value'].apply(pd.to_numeric,errors='coerce')
Но это просто удалило значения в столбцах, где было пустое место.
ВпоследствииЯ пытался убрать пробел из столбца перед применением к числовому:
df_table=df_table['Value'].map(lambda x: x.strip(' '))
Но, похоже, это не имеет никакого эффекта.Я предпочел бы исправить это при чтении HTML, но я рад принять любое решение, которое дает мне числовой столбец на данный момент.
Обновление:
Iневозможно удалить
из исходного html, потому что есть другие столбцы, содержащие текст.