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列表
也可以看看
笔记
在使用此函数之前,您应该阅读有关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