РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
322 of 687 menu

Функция 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-документов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить