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=_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": возвращает ArrowDtype DataFrame с поддержкой 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

Spec-Zone.ru

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