从PDF python中提取/识别表

时间:2015-02-16 00:04:15

标签: python pdf scrape pdf-scraping

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

我的意思是:

  1. 确定存在的表结构
  2. 将表格从其内容中分类
  3. 以有用的输出格式从表中提取数据,例如JSON / CSV等。
  4. 我查看了有关此主题的类似问题并找到了以下内容:

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

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

3 个答案:

答案 0 :(得分:34)

经过多次努力探索OCR库,边界框和聚类算法 - 我找到了一个简单的解决方案,让你想哭!

我希望您使用的是Linux;

pdftotext -layout NAME_OF_PDF.pdf

AMAZING !!

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

在这样的时候,我喜欢Linux,这些人为所有东西想出了令人惊叹的解决方案,并免费将它放在那里!

答案 1 :(得分:33)

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

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

Tabula/TabulaPDF是目前最适合PDF抓取的表格提取工具。

答案 2 :(得分:14)

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

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