50

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

我的意思是:

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

我查看了有关此主题的类似问题,发现以下内容:

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

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

4

3 回答 3

48

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

我希望你使用的是 Linux;

pdftotext -layout NAME_OF_PDF.pdf

惊人!!

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

正是在这样的时候,我爱上了 Linux,这些人为所有事情想出了惊人的解决方案,并免费提供!

于 2017-08-20T22:20:55.467 回答
41

You should definitely have a look at this answer of mine:

and also have a look at all the links included therein.

Tabula/TabulaPDF is currently the best table extraction tool that is available for PDF scraping.

于 2015-02-17T01:00:13.563 回答
18

我想补充一下来自 Kurt Pfeifle 的非常有用的答案 - 现在有一个用于 Tabula 的 Python 包装器,到目前为止这似乎工作得很好:https ://github.com/chezou/tabula-py

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

于 2017-04-22T10:38:40.817 回答