使用 Camelot 进行 Python PDF 解析并提取表格标题

Ali*_*sad 5 python pdfminer tabula python-camelot

Camelot 是一个很棒的 Python 库,用于从 pdf 文件中提取表格作为数据框。但是,我正在寻找一种解决方案,该解决方案还返回写在表格正上方的表格描述文本。

我用来从 pdf 中提取表格的代码是这样的:

import camelot
tables = camelot.read_pdf('test.pdf', pages='all',lattice=True, suppress_stdout = True)
Run Code Online (Sandbox Code Playgroud)

我想提取表格上方写的文本,即THE PARTICULARS,如下图所示。

对我来说最好的方法应该是什么?感谢任何帮助。谢谢

在此输入图像描述

小智 3

您可以直接创建 Lattice 解析器

            parser = Lattice(**kwargs)
            for p in pages:
                t = parser.extract_tables(p, suppress_stdout=suppress_stdout,
                                          layout_kwargs=layout_kwargs)
                tables.extend(t)

Run Code Online (Sandbox Code Playgroud)

然后您就可以访问其中parser.layout包含页面中的所有组件。这些组件都有bbox (x0, y0, x1, y1),并且提取的表也有一个bbox对象。您可以在其顶部找到最接近表格的组件并提取文本。