在对PDF中的表格进行再利用时,除了直接将PDF文档转换为Excel文件,我们还可以提取PDF文档中的表格数据并写入Excel工作表。这样做可以避免一些不必要的文本和格式带来的干扰,获得更易于分析和处理的表格数据,并方便进行更多的格式设置。利用Python,我们可以实现对PDF表格数据的批量提取,并写入Excel工作表中,实现高效的提取写入操作。本文将介绍如何使用Python提取PDF文档中的表格并写入Excel文件中。
本文所使用的方法需要用到Spire.PDF for Python和Spire.XLS for Python,PyPI:pip install spire.pdf, spire.xls
。
Python提取PDF表格数据写入Excel工作表
提取表格需要用到Spire.PDF for Python中的PdfTableExtractor
类。我们可以使用载入的PDF文档创建一个PdfTableExtractor
对象,然后使用PdfTableExtractor.ExtractTable()
方法直接提取指定页面的所有表格返回为列表。然后,我们可以使用PdfTable.GetText()
来获取表格指定单元格的文本,再使用Spire.XLS for Python新建工作表并写入读取的数据到工作表中的相应位置。最后,对工作表进行合适的格式设置,即可完成PDF表格数据到Excel工作表的提取。
以下是详细操作步骤:
- 导入所需模块。
- 创建
PdfDocument
对象,并使用PdfDocument.LoadFromFile()
方法加载PDF文档。 - 创建一个
Workbook
对象,并使用Workbook.Worksheets.Clear()
方法清除默认工作表。 - 为加载的PDF文档创建一个
PdfTableExtractor
对象。 - 使用
PdfTableExtractor.ExtractTable()
方法提取文档中每一页的表格。 - 遍历每个表格
- 使用
Workbook.Worksheets.Add()
方法为每个表格在工作簿中添加一个工作表。 - 使用
Table.GetText()
方法遍历各行各列以获取单元格值,并通过Worksheet.Range[].Text
属性将其插入工作表的相应位置。 - 设置单元格格式。
- 使用
- 使用
Workbook.SaveToFile()
方法保存工作簿。 - 释放资源。
代码示例
from spire.pdf import *
from spire.xls import *
# 创建一个 PdfDocument 对象
pdf = PdfDocument()
# 加载一个 PDF 文档
pdf.LoadFromFile(