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)[源代码]#

将HTML表读取到 listDataFrame 对象。

参数
io字符串、路径对象或类似文件的对象

字符串、路径对象(实现 os.PathLike[str] ),或实现字符串的类似文件的对象 read() 功能。该字符串可以表示URL,也可以表示HTML本身。注意,lxml只接受http、ftp和文件URL协议。如果您的URL以 'https' 您可以尝试删除 's'

match字符串或已编译的正则表达式,可选

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

flavor字符串,可选

要使用的分析引擎。‘bs4’和‘html5lib’是彼此的同义词,它们都是为了向后兼容。的默认设置 None 试图利用 lxml 来进行解析,如果失败了,它会求助于 bs4 + html5lib

header整型或列表型,可选

的行(或行列表) MultiIndex )以用于使列成为标题。

index_col整型或列表型,可选

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

skiprowsInt、List-like或Slice,可选

分析列整数后要跳过的行数。从0开始。如果给定了一个整数序列或切片,将跳过由该序列索引的行。请注意,单个元素序列表示“跳过第n行”,而整数表示“跳过n行”。

attrsDICT,可选

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

attrs = {'id': 'table'}

是有效的属性字典,因为‘id’的HTML标记属性是的有效的 any 每种情况下的HTML标签 this document 。::

attrs = {'asdf': 'table'}

not 有效的属性字典,因为即使‘asdf’是有效的XML属性,它也不是有效的HTML属性。可以找到有效的HTML 4.01表属性 here 。可以找到HTML5规范的工作草案 here 。它包含有关现代Web的表属性的最新信息。

parse_dates布尔值,可选

看见 read_csv() 了解更多详细信息。

thousands字符串,可选

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

encoding字符串,可选

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

decimal字符串,默认为‘.’

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

convertersDict,默认无

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

na_values可迭代,默认为无

自定义NA值。

keep_default_na布尔值,默认为True

如果指定了NA_VALUES并且KEEP_DEFAULT_NA为FALSE,则会覆盖默认的NaN值,否则会将它们附加到后面。

displayed_only布尔值,默认为True

是否应解析带有“Display:None”的元素。

退货
DFS

DataFrame的列表。

参见

read_csv

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

注意事项

在使用此函数之前,您应该阅读 gotchas about the HTML parsing libraries

希望在调用此函数后执行一些清理。例如,如果在传递 header=0 争论。我们尝试尽可能少地假设表的结构,并将表中包含的HTML的特性推送给用户。

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

类似于 read_csv() 这个 header 应用了参数 之后 skiprows 是适用的。

This function will always return a list of DataFrame or it will fail, e.g., it will not return an empty list.

示例

请参阅 read_html documentation in the IO section of the docs 获取一些在HTML表中读取的示例。