当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python 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 表读入 DataFrame 对象的 list

参数

iostr、路径对象或 file-like 对象

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

matchstr 或编译的正则表达式,可选

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

flavorstr,可选

要使用的解析引擎。 ‘bs4’ 和 ‘html5lib’ 是同义词,它们都是为了向后兼容。 None 的默认值尝试使用 lxml 进行解析,如果失败,则返回 bs4 + html5lib

headerint 或 list-like,可选

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

index_colint 或 list-like,可选

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

skiprowsint, list-like 或切片,可选

解析列整数后要跳过的行数。基于 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 规范的工作草案。它包含有关现代 Web 表属性的最新信息。

parse_dates布尔型,可选

有关详细信息,请参阅read_csv()

thousandsstr,可选

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

encodingstr,可选

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

decimalstr,默认“。”

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

converters字典,默认无

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

na_values可迭代,默认无

自定义 NA 值。

keep_default_na布尔值,默认为真

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

displayed_only布尔值,默认为真

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

返回

dfs

数据帧列表。

注意

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

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

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

read_csv() 类似,在应用skiprows 之后应用header 参数。

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

例子

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

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.read_html。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。