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

标签 python pdfminer tabula python-camelot

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

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

import camelot
tables = camelot.read_pdf('test.pdf', pages='all',lattice=True, suppress_stdout = True)

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

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

enter image description here

最佳答案

您可以直接创建Lattice解析器

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

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

关于使用 Camelot 进行 Python PDF 解析并提取表格标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58185404/

相关文章:

python - Pandas 的投资组合周转率

python - opencv 3.0.0-dev python 绑定(bind)无法正常工作

python - 关于 pdfminer 的警告

java - 我们可以使用 Java 中的 Tabula 提取 PDF 表格之间的文本吗?

python - Pandas 根据一组删除重复项并保留最后一个值

python - Flask-RESTplus CORS 请求不在响应中添加 header

python - Pdf Miner 返回奇怪的字母/字符

由于 ToUnicode 映射,PDF 文本提取返回错误字符

python - 除了 tabula 之外,我如何提取 pdf 表格

java - 使用java将PDF转换为CSV