如何使用Python从PDF中提取表格作为文本?

我有一个PDF,其中包含表格,文本和一些图像.我想在PDF中的表格中提取表格.

现在我正在手动查找页面中的表格.从那里我捕获该页面并保存到另一个PDF.

import PyPDF2

PDFfilename = "Sammamish.pdf" #filename of your PDF/directory where your PDF is stored

pfr = PyPDF2.PdfFileReader(open(PDFfilename, "rb")) #PdfFileReader object

pg4 = pfr.getPage(126) #extract pg 127

writer = PyPDF2.PdfFileWriter() #create PdfFileWriter object
#add pages
writer.addPage(pg4)

NewPDFfilename = "allTables.pdf" #filename of your PDF/directory where you want your new PDF to be
with open(NewPDFfilename, "wb") as outputStream:
    writer.write(outputStream) #write pages to new PDF

我的目标是从整个PDF文档中提取表格.

Please have a look at the sample image of a page in PDF

最佳答案
在我看来,你有4种可能性:

>您可以使用tabula直接处理pdf
>您可以使用pdftotext将pdf转换为文本,然后使用python解析文本
>您可以使用外部工具,将您的pdf文件转换为excel或csv,然后使用所需的python模块打开excel / csv文件.
>您也可以将pdf转换为图像文件,然后使用任何最新的OCR软件(从图片中自动重建表格)来获取数据

您的问题与以下内容类似:

> Extract / Identify Tables from PDF python
> Extracting tables from a pdf
> Extract table from a PDF
> How to scrape tables in thousands of PDF files?
> PDF Data and Table Scraping to Excel
> Extracting table contents from a collection of PDF files

问候

转载注明原文:如何使用Python从PDF中提取表格作为文本? - 代码日志