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表读取到
list
的DataFrame
对象。- 参数
- 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>
代表“表数据”。此函数尝试正确处理colspan
和rowspan
属性。如果该函数具有<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表中读取的示例。