Функция read_html
Функция read_html предназначена для извлечения табличных данных из HTML-страниц. Она принимает HTML-строку, URL-адрес или путь к локальному HTML-файлу и возвращает список объектов DataFrame, каждый из которых соответствует одной таблице <table> на странице. Функция автоматически определяет заголовки таблицы и типы данных столбцов. Основной параметр - это источник данных, а дополнительные параметры позволяют тонко настроить процесс парсинга, например, указать конкретный индекс таблицы или задать пользовательские заголовки.
Синтаксис
pd.read_html(io, match='.+', flavor=None, header=None, index_col=None, skiprows=None, attrs=None, parse_dates=False, thousands=',', encoding=None, decimal='.', converters=None, na_values=None, keep_default_na=True, displayed_only=True)
Пример
Давайте извлечём таблицу из HTML-строки:
import pandas as pd
html_data = '''
<table>
<tr><th>a</th><th>b</th></tr>
<tr><td>1</td><td>10</td></tr>
<tr><td>2</td><td>20</td></tr>
<tr><td>3</td><td>30</td></tr>
</table>
'''
tables = pd.read_html(html_data)
print(tables[0])
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 30
Пример
Используем параметр match, чтобы выбрать таблицу, содержащую определённый текст:
import pandas as pd
html_data = '''
<table id="first">
<tr><th>a</th><th>b</th></tr>
<tr><td>1</td><td>10</td></tr>
</table>
<table id="second">
<tr><th>c</th><th>d</th></tr>
<tr><td>5</td><td>50</td></tr>
</table>
'''
tables = pd.read_html(html_data, match='second')
print(tables[0])
Результат выполнения кода:
c d
0 5 50
Пример
Если в HTML несколько таблиц, можно выбрать нужную по индексу с помощью параметра match:
import pandas as pd
html_data = '''
<table><tr><td>Table 1</td></tr></table>
<table><tr><th>a</th><th>b</th></tr><tr><td>1</td><td>10</td></tr></table>
<table><tr><td>Table 3</td></tr></table>
'''
tables = pd.read_html(html_data, match='a')
print(tables[0])
Результат выполнения кода:
a b
0 1 10
Смотрите также
-
функция
read_csv,
которая читает данные из CSV-файлов -
функция
read_excel,
которая читает данные из Excel-файлов -
функция
read_json,
которая читает данные из JSON-формата -
функция
read_xml,
которая читает данные из XML-документов