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 на основе pyarrowArrowDtype.
Добавлено в версии 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