
本文档旨在提供一个清晰、简洁的教程,指导读者如何使用Beautiful Soup库解析具有固定结构的HTML表格,并将提取的数据转换为Pandas DataFrame。通过示例代码和详细解释,读者将学会如何有效地从HTML中提取特定数据,并将其组织成易于分析的表格形式。
在数据处理和分析中,经常需要从网页中提取数据。HTML表格是一种常见的数据呈现方式。本教程将演示如何使用Python的Beautiful Soup库解析HTML表格,并将其转换为Pandas DataFrame,方便后续的数据处理。
首先,确保已经安装了必要的库:
pip install beautifulsoup4 pandas lxml
假设我们有以下HTML代码,表示一个包含产品信息的表格:
立即学习“前端免费学习笔记(深入)”;
html = '''
<table align="center">
<tr>
<th>Name</th>
<td>NAME A</td>
<th>Status</th>
<td class="IN PROGRESS">IN PROGRESS</td>
</tr>
<tr>
<th>Category</th>
<td COLSPAN="3">CATEGORY A</td>
</tr>
<tr>
<th>Creation date</th>
<td>13/01/23 23:00</td>
<th>End date</th>
<td></td>
</tr>
</table>
'''以下代码演示了如何使用Beautiful Soup解析HTML,提取表格中的数据,并将其转换为DataFrame:
from bs4 import BeautifulSoup
import pandas as pd
html = '''
<table align="center">
<tr>
<th>Name</th>
<td>NAME A</td>
<th>Status</th>
<td class="IN PROGRESS">IN PROGRESS</td>
</tr>
<tr>
<th>Category</th>
<td COLSPAN="3">CATEGORY A</td>
</tr>
<tr>
<th>Creation date</th>
<td>13/01/23 23:00</td>
<th>End date</th>
<td></td>
</tr>
</table>
'''
soup = BeautifulSoup(html, 'lxml')
data = [{e.find_previous_sibling('th').text:e.text for e in soup.select('table td')}]
df = pd.DataFrame(data)
print(df)这段代码的执行流程如下:
运行上述代码,将得到以下DataFrame:
Name Status Category Creation date End date 0 NAME A IN PROGRESS CATEGORY A 13/01/23 23:00
本教程介绍了如何使用Beautiful Soup解析HTML表格,并将提取的数据转换为Pandas DataFrame。这种方法适用于具有固定结构的HTML表格。通过掌握这些技术,可以更有效地从网页中提取数据,并进行后续的分析和处理。
以上就是从HTML表格中提取数据并转换为DataFrame的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号