从PDF python中提取/识别表

Ale*_*ane 43 python pdf pdf-scraping scrape

是否有支持表格识别和提取的开源库?

我的意思是:

  1. 识别存在的表结构
  2. 从表中对表进行分类
  3. 以有用的输出格式从表中提取数据,例如JSON/CSV等.

我在这个主题上看了类似的问题,发现了以下内容:

  • PDFMiner解决问题3,但似乎用户需要指定PDFMiner,其中每个表都存在表结构(如果我错了,请纠正我)
  • pdf-table-extract尝试解决问题1但是根据待办事项列表,当前无法识别由空格分隔的表.这是一个问题,因为我的PDF中的所有表都是用空格分隔的!

目前,我认为我将不得不花费大量时间开发机器学习解决方案来识别PDF中的表格结构.因此,任何替代方法都非常受欢迎!

Kur*_*fle 37

你一定要看看我的这个答案:

并查看其中包含的所有链接.

Tabula/TabulaPDF是目前最好的表格提取工具,可用于PDF抓取.

  • 只是关于这个答案有效性的最新消息...我去年使用`tabula'一起破解了一个解决方案来迭代大约100个PDF格式,它们有一些共同的格式.它不漂亮,但它是最糟糕的,并节省了大量时间. (2认同)

Ike*_*Ike 37

经过许多富有成效的小时探索OCR库,边界框和聚类算法 - 我找到了一个简单的解决方案让你想哭!

我希望你使用Linux;

pdftotext -layout NAME_OF_PDF.pdf

惊人!!

现在你有一个很好的文本文件,所有的信息都排列在漂亮的列中,现在格式化为csv等等是微不足道的.

在这种情况下,我喜欢Linux,这些人为所有东西提出了令人惊叹的解决方案,并免费提供给它!

  • 我能够在Windows 10上获得`pdftotext`.只需为Windows下载[XPDFTools] [1].[1]:http://www.xpdfreader.com/download.html (3认同)
  • 它仅适用于数字pdf,不适用于扫描的pdf. (3认同)
  • 链接到文档?例子?如果您提到的图书馆是我怀疑的图书馆,它似乎不符合 1. 或 2 的标准。 (2认同)

Blo*_*Pig 17

我想补充一下Kurt Pfeifle非常有用的答案 - 现在有一个Tabula的Python包装器,到目前为止看起来效果非常好:https://github.com/chezou/tabula-py

这会将您的PDF表格转换为Pandas数据框.您还可以在x,y坐标中设置区域,这对于不规则数据显然非常方便.