Python实现将HTML表格一键导出为Excel(xlsx)的实战指南

 更新时间:2026年01月21日 08:21:51   作者:weixin_46244623  
在数据采集、网页解析或自动化报表场景中,我们经常会遇到需要将HTML 页面中提取的表格数据导出为Excel文件,下面我们就来看看如何使用Python实现这一功能吧

在数据采集、网页解析或自动化报表场景中,我们经常会遇到这样一个需求:

从 HTML 页面中提取表格数据,并导出为 Excel 文件

本文将使用 BeautifulSoup + Pandas + OpenPyXL,实现一个通用、简单、可复用的工具函数,把 HTML 中的 <table> 表格直接导出为 .xlsx 文件。

一、实现思路

整体流程非常清晰:

  • 使用 BeautifulSoup 解析 HTML
  • 查找页面中所有 <table> 标签
  • 使用 pandas.read_html 将表格转为 DataFrame
  • 使用 ExcelWriter 将多个表格写入 Excel 的不同 Sheet

二、环境准备

安装依赖

pip install beautifulsoup4 pandas openpyxl lxml

lxmlpandas.read_html 推荐的解析器,性能更好。

三、核心代码实现

HTML 表格导出函数

from bs4 import BeautifulSoup
import pandas as pd


def html_table_to_xlsx(html_content, output_file):
    """
    将 HTML 中的表格提取并导出为 xlsx 文件。

    :param html_content: HTML 文本内容
    :param output_file: 导出的 xlsx 文件路径
    """
    # 使用 BeautifulSoup 解析 HTML
    soup = BeautifulSoup(html_content, 'html.parser')

    # 查找 HTML 中的所有表格
    tables = soup.find_all('table')
    if not tables:
        print("HTML 中没有找到表格!")
        return

    # 逐个解析表格并导出到 Excel
    with pd.ExcelWriter(output_file, engine='openpyxl') as writer:
        for i, table in enumerate(tables):
            # 将 HTML table 转为 DataFrame
            df = pd.read_html(str(table))[0]

            # 不同表格写入不同的 sheet
            sheet_name = f"Sheet{i + 1}"
            df.to_excel(writer, index=False, sheet_name=sheet_name)

    print(f"表格已成功导出到 {output_file}")

四、示例演示

示例 HTML 内容

html_content = """
<html>
<head><title>测试表格</title></head>
<body>
    <table border="1">
        <tr>
            <th>姓名</th>
            <th>年龄</th>
            <th>城市</th>
        </tr>
        <tr>
            <td>张三</td>
            <td>28</td>
            <td>北京</td>
        </tr>
        <tr>
            <td>李四</td>
            <td>34</td>
            <td>上海</td>
        </tr>
    </table>
</body>
</html>
"""

调用函数导出 Excel

html_table_to_xlsx(html_content, "output.xlsx")

执行后,会在当前目录生成一个 output.xlsx 文件,内容如下:

姓名年龄城市
张三28北京
李四34上海

到此这篇关于Python实现将HTML表格一键导出为Excel(xlsx)的实战指南的文章就介绍到这了,更多相关Python HTML表格导出为Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Python图像处理库Pillow常用使用方法

    详解Python图像处理库Pillow常用使用方法

    PIL(Python Imaging Library)是Python一个强大方便的图像处理库,只支持到Python2.7。这篇文章主要介绍了Python图像处理库Pillow常用使用方法,需要的朋友可以参考下
    2019-09-09
  • Python爬虫动态ip代理防止被封的方法

    Python爬虫动态ip代理防止被封的方法

    在本篇文章中小编给大家整理了关于Python爬虫动态ip代理防止被封的方法以及实例代码,需要的朋友们学习下。
    2019-07-07
  • Python计算程序运行时间的方法

    Python计算程序运行时间的方法

    这篇文章主要介绍了Python计算程序运行时间的方法,分别记录起始时间与结束时间,计算两者之间的差值来获得程序的运行时间,需要的朋友可以参考下
    2014-12-12
  • Python饼状图的绘制实例

    Python饼状图的绘制实例

    今天小编就为大家分享一篇关于Python饼状图的绘制实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • python函数中将变量名转换成字符串实例

    python函数中将变量名转换成字符串实例

    这篇文章主要介绍了python函数中将变量名转换成字符串实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • import的本质解析

    import的本质解析

    import是我们经常使用的功能,方法大家也都会。虽然用的多,但它的本质我们似乎没有好好的了解过。本文就import的本质解析,向大家作了介绍,需要的朋友可以参考下。
    2017-10-10
  • PHP魔术方法__ISSET、__UNSET使用实例

    PHP魔术方法__ISSET、__UNSET使用实例

    这篇文章主要介绍了PHP魔术方法__ISSET、__UNSET使用实例,本文直接给出代码示例,需要的朋友可以参考下
    2014-11-11
  • Python脚本开发漏洞的批量搜索与利用(GlassFish 任意文件读取)

    Python脚本开发漏洞的批量搜索与利用(GlassFish 任意文件读取)

    这篇文章主要介绍了Python 开发漏洞的批量搜索与利用(GlassFish 任意文件读取),主要包括python开发学习的意义及测试漏洞是否存在的步骤,需要的朋友可以参考下
    2022-05-05
  • PyMySQL数据库连接与优化方式

    PyMySQL数据库连接与优化方式

    本文介绍PyMySQL连接MySQL数据库的方法,涵盖CRUD操作、事务处理及连接池优化,通过合理配置连接池和错误重试机制,提升性能并确保数据一致性
    2025-10-10
  • 在漏洞利用Python代码真的很爽

    在漏洞利用Python代码真的很爽

    在漏洞利用Python代码真的很爽...
    2007-08-08

最新评论