pandas.read_html#

pandas.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, extract_links=None, dtype_backend=, storage_options=None)[источник]#

Чтение HTML-таблиц в list of DataFrame объекты.

Параметры:
iostr, объект пути или файлоподобный объект

Строка, объект пути (реализующий os.PathLike[str]), или файлоподобный объект, реализующий строку read() функция. Строка может представлять URL или сам HTML. Обратите внимание, что lxml принимает только протоколы URL http, ftp и file. Если у вас есть URL, который начинается с 'https' вы можете попробовать удалить 's'.

Устарело с версии 2.1.0: Передача строковых литералов HTML устарела. Оберните строковые/байтовые литералы в io.StringIO/io.BytesIO вместо этого.

matchstr или скомпилированное регулярное выражение, необязательно

Набор таблиц, содержащих текст, соответствующий этому регулярному выражению или строке, будет возвращён. Если HTML не крайне простой, вам, вероятно, потребуется передать непустую строку здесь. По умолчанию ‘.+’ (соответствует любой непустой строке). Значение по умолчанию вернёт все таблицы на странице. Это значение преобразуется в регулярное выражение для обеспечения согласованного поведения между Beautiful Soup и lxml.

flavor{“lxml”, “html5lib”, “bs4”} или подобный списку, опционально

Движок парсинга (или список движков парсинга) для использования. ‘bs4’ и ‘html5lib’ являются синонимами друг друга, они оба присутствуют для обратной совместимости. Значение по умолчанию None пытается использовать lxml для разбора, и если это не удаётся, переходит к bs4 + html5lib.

headerint или список, опционально

Строка (или список строк для MultiIndex) для использования в качестве заголовков столбцов.

index_colint или список, опционально

Столбец (или список столбцов), используемый для создания индекса.

skiprowsint, list-like или slice, опционально

Количество строк для пропуска после парсинга целочисленного столбца. Начинается с 0. Если задана последовательность целых чисел или срез, будут пропущены строки, индексированные этой последовательностью. Обратите внимание, что последовательность из одного элемента означает 'пропустить n-ю строку', тогда как целое число означает 'пропустить n строк'.

attrsdict, optional

Это словарь атрибутов, который вы можете передать для идентификации таблицы в HTML. Они не проверяются на корректность перед передачей в lxml или Beautiful Soup. Однако эти атрибуты должны быть допустимыми атрибутами HTML-таблицы, чтобы работать правильно. Например,

attrs = {'id': 'table'}

является допустимым словарем атрибутов, потому что HTML-атрибут 'id' является допустимым HTML-атрибутом для любой HTML-тег в соответствии с этот документ.

attrs = {'asdf': 'table'}

является не допустимый словарь атрибутов, потому что 'asdf' не является допустимым HTML-атрибутом, даже если это допустимый XML-атрибут. Допустимые атрибуты таблицы HTML 4.01 можно найти здесь. Рабочий черновик спецификации HTML 5 можно найти здесь. Он содержит последнюю информацию об атрибутах таблиц для современного веба.

parse_datesbool, необязательно

См. read_csv() для получения дополнительной информации.

тысячиstr, optional

Разделитель для разбора тысяч. По умолчанию ','.

кодировкаstr, optional

Кодировка, используемая для декодирования веб-страницы. По умолчанию None.``None`` сохраняет предыдущее поведение кодирования, которое зависит от базовой библиотеки парсера (например, библиотека парсера попытается использовать кодировку, предоставленную документом).

десятичныйstr, default ‘.’

Символ, распознаваемый как десятичная точка (например, используйте ',' для европейских данных).

конвертерыdict, по умолчанию None

Словарь функций для преобразования значений в определенных столбцах. Ключами могут быть либо целые числа, либо метки столбцов, значения — функции, принимающие один входной аргумент, содержимое ячейки (не столбца), и возвращающие преобразованное содержимое.

na_valuesитерируемый объект, по умолчанию None

Пользовательские значения NA.

keep_default_nabool, по умолчанию True

Если указаны na_values и keep_default_na равен False, значения NaN по умолчанию переопределяются, в противном случае они добавляются к ним.

displayed_onlybool, по умолчанию True

Следует ли парсить элементы с “display: none”.

extract_links{None, “all”, “header”, “body”, “footer”}

Элементы таблицы в указанном разделе(ах) с тегами будут иметь извлеченный href.

Добавлено в версии 1.5.0.

dtype_backend{'numpy_nullable', 'pyarrow'}, по умолчанию 'numpy_nullable'

Тип данных бэкенда, примененный к результирующему DataFrame (все еще экспериментальная). Поведение следующее:

  • "numpy_nullable": возвращает поддерживаемый нуллифицируемым типом данных DataFrame (по умолчанию).

  • "pyarrow": возвращает nullable на основе pyarrow ArrowDtype DataFrame.

Добавлено в версии 2.0.

storage_optionsdict, optional

Дополнительные параметры, которые имеют смысл для конкретного соединения с хранилищем, например, хост, порт, имя пользователя, пароль и т.д. Для HTTP(S) URL пары ключ-значение передаются в urllib.request.Request в качестве параметров заголовка. Для других URL-адресов (например, начинающихся с "s3://" и "gcs://") пары ключ-значение передаются fsspec.open. Пожалуйста, смотрите fsspec и urllib для получения дополнительной информации, а для дополнительных примеров по опциям хранения см. здесь.

Добавлено в версии 2.1.0.

Возвращает:
dfs

Список DataFrames.

Смотрите также

read_csv

Чтение файла значений, разделенных запятыми (csv), в DataFrame.

Примечания

Перед использованием этой функции вам следует прочитать подводные камни о библиотеках парсинга HTML.

Ожидайте, что потребуется выполнить некоторую очистку после вызова этой функции. Например, вам может потребоваться вручную назначить имена столбцов, если имена столбцов преобразуются в NaN при передаче header=0 аргумент. Мы стараемся делать как можно меньше предположений о структуре таблицы и передаем особенности HTML, содержащегося в таблице, пользователю.

Эта функция ищет элементы и только для и или аргумент, он используется для построения заголовка, в противном случае функция пытается найти заголовок в теле (помещая строки только с
строк и элементы внутри каждого
элемент в таблице. означает "табличные данные". Эта функция пытается корректно обрабатывать colspan и rowspan атрибуты. Если функция имеет
элементы в заголовок).

Аналогично read_csv() the header аргумент применяется после skiprows применяется.

Эта функция будет всегда возвращает список DataFrame или это не удастся, например, это не возвращает пустой список.

Примеры

См. документация read_html в разделе IO документации для некоторых примеров чтения HTML-таблиц.