用法:
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
。- io:str、路径对象或 file-like 对象
字符串、路径对象(实现
os.PathLike[str]
)或 file-like 对象实现字符串read()
函数。该字符串可以表示 URL 或 HTML 本身。请注意,lxml 只接受 http、ftp 和文件 url 协议。如果您有一个以'https'
开头的 URL,您可以尝试删除's'
。- match:str 或编译的正则表达式,可选
将返回包含与此正则表达式或字符串匹配的文本的表集。除非 HTML 非常简单,否则您可能需要在此处传递一个非空字符串。默认为“.+”(匹配任何非空字符串)。默认值将返回页面中包含的所有表。此值被转换为正则表达式,以便 Beautiful Soup 和 lxml 之间的行为一致。
- flavor:str,可选
要使用的解析引擎。 ‘bs4’ 和 ‘html5lib’ 是同义词,它们都是为了向后兼容。
None
的默认值尝试使用lxml
进行解析,如果失败,则返回bs4
+html5lib
。- header:int 或 list-like,可选
用于制作列标题的行(或
MultiIndex
的行列表)。- index_col:int 或 list-like,可选
用于创建索引的列(或列列表)。
- skiprows:int, 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()
。- thousands:str,可选
用于解析数千的分隔符。默认为
','
。- encoding:str,可选
用于解码网页的编码。默认为
None
。``None`` 保留先前的编码行为,这取决于底层解析器库(例如,解析器库将尝试使用文档提供的编码)。- decimal:str,默认“。”
识别为小数点的字符(例如,对欧洲数据使用“,”)。
- 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”。该函数试图正确处理colspan
和rowspan
属性。如果函数有<thead>
参数,它用于构造标题,否则该函数会尝试在正文中查找标题(通过仅放置行<th>
元素到标题中)。与
read_csv()
类似,在应用skiprows
之后应用header
参数。此函数将始终返回 DataFrame 列表,否则将失败,例如,它不会返回空列表。
例子:
有关在 HTML 表中读取的一些示例,请参阅文档 IO 部分中的 read_html 文档。
相关用法
- Python pandas.read_hdf用法及代码示例
- Python pandas.read_pickle用法及代码示例
- Python pandas.read_xml用法及代码示例
- Python pandas.read_table用法及代码示例
- Python pandas.read_sql_table用法及代码示例
- Python pandas.read_excel用法及代码示例
- Python pandas.read_fwf用法及代码示例
- Python pandas.read_stata用法及代码示例
- Python pandas.read_sql用法及代码示例
- Python pandas.read_csv用法及代码示例
- Python pandas.read_json用法及代码示例
- Python pandas.arrays.IntervalArray.is_empty用法及代码示例
- Python pandas.DataFrame.ewm用法及代码示例
- Python pandas.api.types.is_timedelta64_ns_dtype用法及代码示例
- Python pandas.DataFrame.dot用法及代码示例
- Python pandas.DataFrame.apply用法及代码示例
- Python pandas.DataFrame.combine_first用法及代码示例
- Python pandas.Index.value_counts用法及代码示例
- Python pandas.DatetimeTZDtype用法及代码示例
- Python pandas.DataFrame.cumsum用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.read_html。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。