pandas.read_html #

熊猫。read_html ( io , * , match = '.+' ,风味= None , header = None , index_col = None , Skiprows = None , attrs = None , parse_dates = False ,千位= ',' ,编码= None ,小数= ' .'转换器= None na_values = None keep_default_na = True displayed_only = True extract_links = None dtype_backend = _NoDefault.no_default storage_options = None ) [来源] #

将 HTML 表读入对象listDataFrame

参数
io str、路径对象或类文件对象

字符串、路径对象(实现os.PathLike[str])或实现字符串read()函数的类文件对象。该字符串可以表示 URL 或 HTML 本身。请注意,lxml 仅接受 http、ftp 和文件 url 协议。如果您有一个以您开头的 URL,'https'可以尝试删除's'.

自版本 2.1.0 起已弃用:不推荐传递 html 文字字符串。将文字字符串/字节输入包装在io.StringIO/io.BytesIO中。

匹配str 或已编译的正则表达式,可选

将返回包含与此正则表达式或字符串匹配的文本的表集。除非 HTML 非常简单,否则您可能需要在此处传递一个非空字符串。默认为“.+”(匹配任何非空字符串)。默认值将返回页面上包含的所有表格。该值将转换为正则表达式,以便 Beautiful Soup 和 lxml 之间具有一致的行为。

风味{“lxml”、“html5lib”、“bs4”} 或类似列表,可选

要使用的解析引擎(或解析引擎列表)。 “bs4”和“html5lib”彼此同义,它们都是为了向后兼容。默认情况下None尝试使用lxml 解析,如果失败则返回到bs4+ html5lib

header int 或类似列表,可选

MultiIndex用于制作列标题的行(或 的行列表)。

index_col int 或类似列表,可选

用于创建索引的列(或列列表)。

Skiprows int,类似列表或切片,可选

解析列整数后要跳过的行数。 0 为基础。如果给出了整数序列或切片,则将跳过该序列索引的行。请注意,单个元素序列表示“跳过第 n 行”,而整数表示“跳过 n 行”。

attrs字典,可选

这是一个属性字典,您可以传递它来用于标识 HTML 中的表。在传递给 lxml 或 Beautiful Soup 之前,不会检查它们的有效性。但是,这些属性必须是有效的 HTML 表属性才能正常工作。例如,

attrs = {'id': 'table'}

是一个有效的属性字典,因为“id”HTML 标记属性对于本文档中的任何HTML 标记都是有效的 HTML 属性。

attrs = {'asdf': 'table'}

不是有效的属性字典,因为“asdf”不是有效的 HTML 属性,即使它是有效的 XML 属性可以在此处找到有效的 HTML 4.01 表属性。可以在此处找到 HTML 5 规范的工作草案。它包含有关现代网络表属性的最新信息。

parse_dates布尔值,可选

请参阅read_csv()了解更多详情。

数千str,可选

用于解析数千个的分隔符。默认为','.

编码str,可选

用于解码网页的编码。默认为None.``None`` 保留以前的编码行为,这取决于底层解析器库(例如,解析器库将尝试使用文档提供的编码)。

十进制str,默认 '.'

识别为小数点的字符(例如,使用“,”表示欧洲数据)。

转换器字典,默认无

用于转换某些列中的值的函数字典。键可以是整数或列标签,值是采用一个输入参数、单元格(而不是列)内容并返回转换后的内容的函数。

na_values可迭代,默认 None

自定义 NA 值。

keep_default_na bool, 默认 True

如果指定了 na_values 并且 keep_default_na 为 False,则默认 NaN 值将被覆盖,否则将附加它们。

displayed_only布尔值,默认 True

是否应该解析带有“display: none”的元素。

extract_links {无、“全部”、“页眉”、“正文”、“页脚”}

带有 <a> 标记的指定部分中的表元素将提取其 href。

1.5.0 版本中的新增内容。

dtype_backend {'numpy_nullable', 'pyarrow'}, 默认 'numpy_nullable'

应用于结果的后端数据类型DataFrame (仍处于试验阶段)。行为如下:

  • "numpy_nullable":返回 nullable-dtype-backed DataFrame (默认)。

  • "pyarrow":返回 pyarrow 支持的可为空的ArrowDtype DataFrame。

2.0版本中的新增内容。

storage_options字典,可选

对于特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将urllib.request.Request作为标头选项转发。对于其他 URL(例如以“s3://”和“gcs://”开头),键值对将转发到fsspec.open。请参阅fsspecurllib了解更多详细信息,有关存储选项的更多示例,请参阅此处

2.1.0 版本中的新增功能。

返回
dfs

数据框列表。

也可以看看

read_csv

将逗号分隔值 (csv) 文件读入 DataFrame。

笔记

在使用此函数之前,您应该阅读有关 HTML 解析库的陷阱

期望在调用此函数后进行一些清理。例如,如果在传递header=0参数时列名转换为 NaN,您可能需要手动分配列名。我们尝试尽可能少地假设表格的结构,并将表格中包含的 HTML 特性推送给用户。

此函数搜索<table>元素,并且仅搜索 表中每个或元素内的行和<tr> 元素。代表“表数据”。该函数尝试正确处理和属性。如果函数有参数,则它用于构造标头,否则函数会尝试在正文中查找标头(通过将仅包含元素的行放入标头中)。<th><td><tr><th><td>colspanrowspan<thead><th>

与应用Skiprows之后应用 类似于read_csv()header参数。

该函数将始终返回一个列表,否则 它将失败,例如,它不会返回空列表。DataFrame

例子

有关读取 HTML 表的一些示例,请参阅文档 IO 部分中的 read_html 文档。