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=_NoDefault.no_default, storage_options=None)[source]
-
Чтение HTML-таблиц в список объектов
list.- Параметры:
-
- io:str, объект пути или файлоподобный объект
-
Строка, объект пути (реализующий
os.PathLike[str]), или файлоподобный объект, реализующий строковую функциюread(). Строка может представлять собой URL-адрес или сам HTML-код. Обратите внимание, что lxml принимает только протоколы URL http, ftp и file. Если у вас есть URL, начинающийся с'https', попробуйте удалить's'.Устарело начиная с версии 2.1.0: Передача строковых литералов HTML устарела. Оберните входной строковый/байтовый литерал в
io.StringIO/io.BytesIO. - match:строка или скомпилированное регулярное выражение, необязательно
-
Будут возвращены только таблицы, содержащие текст, соответствующий данному регулярному выражению или строке. Если HTML не очень простой, вам, вероятно, придется передать здесь непустую строку. По умолчанию используется ‘.+’ (соответствие любой непустой строке). Значение по умолчанию вернёт все таблицы, содержащиеся на странице. Это значение преобразуется в регулярное выражение для обеспечения согласованного поведения между Beautiful Soup и lxml.
- flavor:{“lxml”, “html5lib”, “bs4”} или список, необязательно
-
Двигатель разбора (или список парсеров) для использования. ‘bs4’ и ‘html5lib’ являются синонимами, они оба включены для обратной совместимости. По умолчанию
Noneпытается использоватьlxmlдля разбора, и если это не удается, то используетbs4+html5lib. - header:целое число или список, необязательно
-
Строка (или список строк для
MultiIndex) для использования в качестве заголовков столбцов. - index_col:целое число или список, необязательно
-
Столбец (или список столбцов) для создания индекса.
- skiprows:целое число, список или срез, необязательно
-
Количество строк, которые нужно пропустить после разбора целочисленного столбца. 0-основанный индекс. Если указана последовательность целых чисел или срез, будут пропущены строки с индексами из этой последовательности. Обратите внимание, что последовательность с одним элементом означает «пропустить n-ую строку», в то время как целое число означает «пропустить n строк».
- attrs:словарь, необязательно
-
Это словарь атрибутов, которые можно передать для идентификации таблицы в HTML. Они не проверяются на корректность перед передачей в lxml или Beautiful Soup. Однако эти атрибуты должны быть валидными HTML-атрибутами таблиц для правильной работы. Например,
attrs = {'id': 'table'}является допустимым словарем атрибутов, так как атрибут тега ‘id’ является допустимым HTML-атрибутом для любого тега HTML, согласно этому документу.
attrs = {'asdf': 'table'}не является допустимым словарем атрибутов, так как ‘asdf’ не является допустимым HTML-атрибутом, даже если он является допустимым XML-атрибутом. Допустимые атрибуты HTML-таблиц 4.01 можно найти здесь. Рабочий проект спецификации HTML 5 можно найти здесь. Он содержит последнюю информацию об атрибутах таблиц для современного веб-дизайна.
- parse_dates:bool, необязательно
-
Для получения дополнительной информации обратитесь к
read_csv(). - thousands:str, необязательно
-
Разделитель для разбора тысяч. По умолчанию
','. - encoding:str, необязательно
-
Кодировка, используемая для декодирования веб-страницы. По умолчанию
None. ``None`` сохраняет предыдущее поведение кодировки, которое зависит от библиотеки парсера (например, библиотека парсера попытается использовать кодировку, предоставленную документом). - decimal:str, по умолчанию ‘.’
-
Символ, распознаваемый как десятичная точка (например, используйте ‘,’ для европейских данных).
- converters:словарь, по умолчанию None
-
Словарь функций для преобразования значений в определенных столбцах. Ключи могут быть целыми числами или именами столбцов, значения — функциями, которые принимают один аргумент — содержимое ячейки (не столбца) — и возвращают преобразованное содержимое.
- na_values:итерируемый объект, по умолчанию None
-
Пользовательские значения NA.
- keep_default_na:bool, по умолчанию True
-
Если na_values указаны и keep_default_na False, значения NaN по умолчанию перезаписываются; в противном случае они добавляются.
- displayed_only:bool, по умолчанию True
-
Разбирать ли элементы с «display: none».
- extract_links:{None, “all”, “header”, “body”, “footer”}
-
У элементов таблицы в указанной/указанных секции с тэгами <a> будет извлечен атрибут href.
Введено в версии 1.5.0.
- dtype_backend:{‘numpy_nullable’, ‘pyarrow’}, по умолчанию ‘numpy_nullable’
-
Тип данных, применяемый к полученной
DataFrame(ещё экспериментально). Поведение:"numpy_nullable": возвращаетDataFrameс поддержкой типов данных Nullable (по умолчанию)."pyarrow": возвращаетArrowDtypeDataFrame с поддержкой Nullable, основанный на pyarrow.
Введено в версии 2.0.
- storage_options:словарь, необязательно
-
Дополнительные параметры, имеющие смысл для определённого подключения к хранилищу, например, хост, порт, имя пользователя, пароль и т. п. Для HTTP(S) URL-адресов пары ключ-значение передаются
urllib.request.Requestв качестве параметров заголовка. Для других URL-адресов (например, начинающихся с “s3://”, и “gcs://”) пары ключ-значение передаются вfsspec.open. Более подробную информацию см. вfsspecиurllib, а примеры параметров хранилища можно найти здесь.Введено в версии 2.1.0.
- Возвращаемое значение:
-
- dfs
-
Список DataFrame.
См. также
read_csv-
Чтение файла с разделителями (csv) в DataFrame.
Примечания
Перед использованием этой функции необходимо ознакомиться с подробными сведениями о библиотеках разбора HTML.
Ожидайте необходимость проведения некоторой очистки после вызова этой функции. Например, может потребоваться вручную назначить имена столбцам, если имена столбцов были преобразованы в NaN при передаче аргумента header=0. Мы стараемся по возможности не делать предположений о структуре таблицы и перекладываем особенности HTML-кода таблицы на пользователя.
Эта функция ищет элементы
<table>и только<tr>и<th>строки и<td>элементы внутри каждого<tr>или<th>элемента в таблице.<td>обозначает «данные таблицы». Эта функция пытается правильно обработать атрибутыcolspanиrowspan. Если у функции есть аргумент<thead>, он используется для построения заголовка, в противном случае функция пытается найти заголовок в теле (расположив строки только с<th>элементами в заголовке).Аналогично
read_csv()аргумент header применяется после применения skiprows.Эта функция всегда возвращает список
DataFrameили завершается с ошибкой, т. е. она не возвращает пустой список.Примеры
См. документацию read_html в разделе «Ввод/вывод» документации для некоторых примеров чтения HTML-таблиц.
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.read_html.html