pandas.read_html

pandas.read_html(io, match='.+', flavor=None, header=None, index_col=None, skiprows=None, attrs=None, parse_dates=False, tupleize_cols=False, thousands=', ', encoding=None, decimal='.', converters=None, na_values=None, keep_default_na=True)[source]

将HTML表格读入DataFrame对象的list

参数:

io:str或类似文件

URL,类似文件的对象或包含HTML的原始字符串。注意lxml只接受http,ftp和文件url协议。如果您有以'https'开头的网址,可以尝试删除's'

match:str或编译的正则表达式,可选

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

flavor:str或None,字符串容器

解析引擎使用。'bs4'和'html5lib'彼此是同义词,它们都有向后兼容性。默认值None尝试使用lxml解析,如果失败,则返回bs4 + html5lib

header:int或list-like或None,可选

用于创建列标题的行(或MultiIndex的行列表)。

index_col:int或list-like或None,可选

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

skiprows:int或list-like或slice或None,可选

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

attrs:dict或None,可选

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

attrs = {'id': 'table'}

is a valid attribute dictionary because the ‘id’ HTML tag attribute is a valid HTML attribute for any HTML tag as per this document.

attrs = {'asdf': 'table'}

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

parse_dates:bool,可选

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

tupleize_cols:bool,可选

如果False尝试将多个标题行解析为MultiIndex,否则返回原始元组。默认为False

:str,可选

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

encoding:str或None,可选

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

decimal:str,default'。

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

版本0.19.0中的新功能。

转换器:dict,默认值无

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

版本0.19.0中的新功能。

na_values:iterable,默认值无

自定义NA值

版本0.19.0中的新功能。

keep_default_na:bool,default True

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

版本0.19.0中的新功能。

返回:

dfs:DataFrames列表

也可以看看

pandas.read_csv

笔记

在使用此函数之前,您应该阅读有关HTML解析库的gotchas about the HTML parsing libraries

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

This function searches for <table> elements and only for <tr> and <th> rows and <td> elements within each <tr> or <th> element in the table. <td>代表“表数据”。

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

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

例子

有关在HTML表中阅读的一些示例,请参阅文档的IO部分中的read_html documentation in the IO section of the docs

Scroll To Top