用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

相关推荐
databook9 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar11 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805111 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_11 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机18 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机19 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机19 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机19 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i19 小时前
drf初步梳理
python·django
每日AI新事件19 小时前
python的异步函数
python