繁体   English   中英

tabula vs camelot 用于从 PDF 中提取表格

[英]tabula vs camelot for table extraction from PDF

我需要从 pdf 中提取表格,这些表格可以是任何类型,多个标题、垂直标题、水平 header 等。

我已经实现了两者的基本用例,发现 tabula 比 camelot 做得好一点,但仍然无法完美地检测所有表,我不确定它是否适用于所有类型。

因此,寻求实施过类似用例的专家的建议。

示例 PDF: PDF1 PDF2 PDF3

表格实施:

import tabula
tab = tabula.read_pdf('pdfs/PDF1.pdf', pages='all')
for t in tab:
    print(t, "\n=========================\n")

卡米洛特实施:

import camelot
tables = camelot.read_pdf('pdfs/PDF1.pdf', pages='all', split_text=True)
tables
for tabs in tables:
    print(tabs.df, "\n=================================\n")

请阅读: https://camelot-py.readthedocs.io/en/master/#why-camelot

Camelot的主要优点是该库参数丰富,您可以通过这些参数改进提取。

显然,这些参数的应用需要一些研究和各种尝试。

在这里您可以找到 Camelot 与其他 PDF 表提取库的比较。

我认为 Camelot 更好地以干净的格式提取数据,而不是混乱(即数据保留了信息并且行内容不受影响)。 因此,在每个单元格的行数不同的情况下,提取的数据质量更好。 ->Tabula 需要一个 Java 运行时环境

有广泛用于从 PDF 文件中提取表格的开放(Tabula,pdf-table-extract)源(smallpdf,PDFTables)工具。 他们要么给出一个不错的 output 要么惨遭失败。 两者之间没有。 这无济于事,因为现实世界中的所有内容,包括 PDF 表提取,都是模糊的。 这导致为每种类型的 PDF 表创建临时表提取脚本。 创建 Camelot 的目的是为用户提供对表提取的完全控制。 如果您无法使用默认设置获得所需的 output,您可以调整它们并完成工作!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM