如何在 Python 中读取 HTML 表格
在本教程中,我们将学习使用 Python 读取 HTML 表格。我们知道,每天会产生大量数据,我们需要提取相关信息。互联网是获取与我们要求相关数据的好地方,而网络爬虫是从网络上收集数据的最佳选择之一。
此外,Python 借助 BeautifulSoup 模块使网络爬虫变得更加容易。
我们将使用 Python 的 pandas 库进行数据处理。它提供了 read_html() 函数,该函数帮助在网页上以 DataFrame 对象列表的形式读取 HTML 表格。
先决条件
要使用 Python 脚本读取 HTML 文件,我们需要安装 pandas 库。一旦安装了库,我们还需要 lxml 模块来使用 read_xml() 函数。我们可以使用以下命令安装它。
使用 Python 从 HTML 字符串中提取表格
在下面的示例中,我们创建了一个简单的 HTML 表格,并将其分配给 html_table 变量。让我们看看下面的示例。
例子 –
现在我们将读取上面的 HTML 表格。
输出 :
解释 –
在上面的代码中,我们使用 Python 中的 pandas 库来解析一个表示为字符串的 HTML 表格。pd.read_html() 函数用于解析表格并返回一个数据帧列表,本例中仅包含一个数据帧。变量 html_table 包含具有四列(ID、姓名、分支和结果)的 HTML 表格的字符串表示形式。该表格具有标题行和四个数据行。在对 html_table 变量调用 pd.read_html() 函数之后,生成的数据框将存储在变量 df 中。然后可以使用 df 变量访问表中的数据并根据需要进行操作。
正如我们所看到的,输出是以列表的形式呈现,其中包含了一个表格。我们可以使用索引来查看列表中特定索引处的元素。
我们还可以如下所示检查每列的数据类型。
输出 :
从 URL 获取表格数据
我们也可以将 URL 作为参数传递到 read_html() 函数中,以读取网页上的 HTML 表格。让我们理解以下示例。
例子 –
输出 :
注意 – 网页内容可能随时间变化而异,因此我们可能会得到不同的结果。
从文件中提取表格
我们还可以从文本文件中读取表格。我们需要将文件路径传递给函数。让我们理解以下示例。
输出 :
上面的列表中包含两个元素。我们可以使用索引获取每个表格。
输出 :
输出 :
结论
read_html() 是从多个来源读取 HTML 表格的有用且高效方法。在进行网络爬虫时,它非常有帮助。但是,read_html() 方法无法读取使用 JavaScript 加载的表格。