Spec-Zone.ru › pandas 2

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=<no_default>, storage_options=None)[source]

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

Параметры:
io:str, path object, or file-like object

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

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

match:str or compiled regular expression, optional

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

flavor:{“lxml”, “html5lib”, “bs4”} or list-like, optional

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

header:int or list-like, optional

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

index_col:int or list-like, optional

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

skiprows:int, list-like or slice, optional

Количество строк, которые нужно пропустить после разбора целого числа столбца. Отсчёт начинается с 0. Если передана последовательность целых чисел или срез, будут пропущены строки с индексами из этой последовательности. Обратите внимание: последовательность из одного элемента означает «пропустить строку с номером n», а целое число — «пропустить n строк».

attrs:dict, 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_dates:bool, optional

Дополнительные сведения см. в документации read_csv().

thousands:str, optional

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

encoding:str, optional

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

decimal:str, default ‘.’

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

converters:dict, default None

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

na_values:iterable, default None

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

keep_default_na:bool, default True

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

displayed_only:bool, default True

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

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

Для элементов таблицы в указанных разделах, содержащих теги <a>, будет извлечено значение href.

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

dtype_backend:{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’

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

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

  • "pyarrow": возвращает DataFrame с типом данных nullable на основе pyarrow ArrowDtype.

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

storage_options:dict, optional

Дополнительные параметры для конкретного подключения к хранилищу, например имя хоста, порт, имя пользователя, пароль и т. д. Для URL-адресов HTTP(S) пары «ключ-значение» передаются в urllib.request.Request в качестве параметров заголовка. Для других URL-адресов (например, начинающихся с “s3://” или “gcs://”) пары «ключ-значение» передаются в fsspec.open. Дополнительные сведения см. в fsspec и urllib; примеры параметров хранилища приведены здесь.

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

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

Список объектов DataFrame.

См. также

read_csv

Читает файл с разделёнными запятыми значениями (CSV) в DataFrame.

Примечания

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

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

Эта функция ищет элементы <table> и только строки <tr> и <th>, а также элементы <td> внутри каждого элемента <tr> или <th> таблицы. <td> означает «данные таблицы». Функция старается корректно обрабатывать атрибуты colspan и rowspan. Если указан аргумент <thead>, он используется для формирования заголовка; в противном случае функция пытается найти заголовок в теле таблицы (перенося строки, содержащие только элементы <th>, в заголовок).

Как и в случае с read_csv(), аргумент header применяется после применения skiprows.

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

Примеры

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

© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.read_html.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API