在 Python 中提取 PDF 表格

在本文中,您将学习如何使用 Python 从 PDF 文件中提取表格。 PDF 是一种流行的数据共享格式,但是,从 PDF 中提取表格可能是一项具有挑战性的任务。有几个可用的 Python 库可以帮助我们完成这项任务。尽管如此,可能仍缺乏准确的数据提取。

因此,让我们了解如何在几行代码内从 PDF 中高精度地提取表格数据。在本教程结束时,您将能够使用 Python 从 PDF 文件中提取表格并根据需要对其进行操作。

从 PDF 中提取表格的 Python 库

要从 PDF 文件的表格中提取数据,我们将使用 Aspose.PDF for Python。它是一个功能强大的 Python 库,具有一系列用于 PDF 处理和操作的功能。您可以使用以下 pip 命令安装 Aspose.PDF for Python。

pip install aspose-pdf

在 Python 中从 PDF 中提取表格

以下是使用 Python 从 PDF 中的表格中提取数据的步骤。

  • 使用 Document 类加载 PDF 文件。
  • 获取表所在的 PDF 页面的引用。
  • 初始化 TableAbsorber 对象并使用 TableAbsorber.visit(Page) 方法访问所选页面。
  • 在循环中,遍历 TableAbsorber.tablelist 集合中的表列表。
  • 对于每个表,遍历 AbsorbedTable.rowlist 中的行集合。
  • 对于每个吸收的行,循环访问 AbsorbedRow.celllist 中的单元格集合。
  • 最后,遍历每个吸收的单元格的 textfragments 集合并打印文本。

以下代码示例展示了如何使用 Python 从 PDF 表格中提取文本。

import aspose.pdf as pdf

# 加载PDF文件
pdfDocument = pdf.Document("input.pdf")

# 初始化 TableAbsorber 对象
tableAbsorber =  pdf.text.TableAbsorber()

# 解析第一页上的所有表格
tableAbsorber.visit(pdfDocument.pages[1])

# 获取第一个表的引用
absorbedTable = tableAbsorber.table_list[0]

# 遍历表中的所有行
for pdfTableRow in absorbedTable.row_list:
    
    # 遍历行中的所有列
   for pdfTableCell in pdfTableRow.cell_list:
        
        # 获取文本片段
        textFragmentCollection = pdfTableCell.text_fragments
        
        # 遍历文本片段
       for textFragment in textFragmentCollection:
            
            # 打印文本
            print(textFragment.text)
            

提取 PDF 表格的在线工具

您也可以试用我们的免费在线工具 PDF 表格提取器,它基于 Aspose.PDF for Python 从 PDF 文件中提取表格。

免费使用 Python PDF 库

您可以获得 免费临时许可证 并不受任何限制地从 PDF 文件中的表格中提取数据。

探索 Python PDF 库

您可以使用 文档 探索更多关于 Python PDF 库的信息。此外,您可以在我们的 论坛 上发布您的疑问。

结论

在本文中,您学习了如何使用 Python 从 PDF 中的表格中提取数据。您可以使用稍作修改的相同代码从 PDF 的所有页面中提取表格。同样,您可以从页面上的所有表或特定表中提取数据。只需在您的应用程序中安装 Aspose.PDF for Python,即可快速轻松地从 PDF 文件中提取表格数据。

也可以看看