用Python将HTML转换为Excel文件

在数据处理和分析的过程中,经常需要从网页上抓取信息,并将其转换为更易于操作的格式。HTML表格作为一种常见的数据展示方式,在线报告、统计资料等场景中广泛存在,但其结构化程度较低,不利于进一步的数据清洗和分析。将HTML表格转换为Excel工作表 ,不仅可以利用Excel强大的数据处理能力进行排序、筛选、计算等操作,还便于与他人分享以及进行长期保存。利用Python,我们可以以简洁高效的方式来完成这一转换过程,快速实现数据的迁移。

本文将介绍如何使用Python转换HTML为Excel文件。

文章目录

本文所使用的方法需要用到Spire.XLS for Python,PyPI:pip install spire.xls。

用Python将HTML转换为Excel工作表

我们可以使用Workbook.LoadFromHTML()方法或Workbook.LoadFromMHTML()直接载入HTML文件,并通过Workbook.SaveToFile()方法将其保存为指定的Excel文件格式。以下是详细操作步骤:

  • 导入所需模块。
  • 创建Workbook对象。
  • 使用Workbook.LoadFromHTML()方法载入HTML文件。
  • 对于比较简单的HTML表格可能缺少一些格式信息,我们可以在转换前进行一些格式设置,如自动调整列宽。
  • 使用Workbook.SaveToFile()方法将其转换为Excel文件并保存。
  • 释放资源。

代码示例

python 复制代码
from spire.xls import Workbook

# 创建Workbook的实例
workbook = Workbook()

# 加载HTML文件
workbook.LoadFromHtml("Sample.html")

# 自动调整列宽
for i in range(workbook.Worksheets.Count):
    worksheet = workbook.Worksheets.get_Item(i)
    for j in range(1, worksheet.Columns.Count + 1):
        worksheet.AutoFitColumn(j)

# 将其转换为Excel文件
workbook.SaveToFile("output/HTML转Excel.xlsx")
workbook.Dispose()

结果

用Python将HTML文本写入Excel单元格

我们可以使用Workbook.Worksheets.get_Item()方法来获取指定工作表,并使用Worksheet.Range[]属性获取指定单元格或单元格范围。然后,我们可以通过CellRange.HtmlString属性来插入HTML文本到单元格中,从而显示相应的文本和格式。以下是操作步骤示例:

  • 导入所需模块。
  • 创建Workbook对象。
  • 使用Workbook.Worksheets.get_Item()方法来获取工作表。
  • 使用Worksheet.Range[]属性获取单元格。
  • 指定HTML代码。
  • 通过CellRange.HtmlString属性来插入HTML代码对应的文本到单元格中。
  • 使用Workbook.SaveToFile()方法保存Excel工作簿。
  • 释放资源。

代码示例

python 复制代码
from spire.xls import Workbook, FileFormat

# 创建Workbook的实例
workbook = Workbook()

# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)

# 指定HTML字符串
htmlString = "<span style='font-size: 20px; color: blue;'><strong><u>Employee Data Table</u></strong></span>"

# 将HTML字符串插入到工作表中
sheet.Range[1, 1].HtmlString = htmlString

# 自动调整列宽
sheet.AutoFitColumn(1)

# 保存工作簿
workbook.SaveToFile("output/InsertHTMLStringToExcel.xlsx", FileFormat.Version2016)
workbook.Dispose()

结果

本文演示了如何使用Python将HTML转换为Excel文件。

申请免费License

相关推荐
bkspiderx1 小时前
Qt 插件机制:动态扩展应用功能的核心框架
开发语言·qt·元数据·qt 插件·qpluginloader
程序员老陆1 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光1 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
码云数智-园园2 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
禾小西3 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨3 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
全栈练习生3 小时前
AI Agent 沙箱
python·ai
徐小黑ACG3 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
优橙教育3 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
SEO_juper4 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站