用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

相关推荐
金銀銅鐵6 小时前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li7 小时前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
小九九的爸爸12 小时前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学13 小时前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
花酒锄作田1 天前
Pydantic校验配置文件
python
hboot1 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi2 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi2 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab
曲幽2 天前
你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南
python·fastapi·web·graphql·route·cors·rest·strawberry
用户8358086187912 天前
基于 Self-RAG 与列表级重排序的进阶 RAG 系统设计与实现
python