Camelot 是一个很棒的 Python 库,用于从 pdf 文件中提取表格作为数据框。但是,我正在寻找一种解决方案,该解决方案还返回写在表格正上方的表格描述文本。
我用来从 pdf 中提取表格的代码是这样的:
import camelot
tables = camelot.read_pdf('test.pdf', pages='all',lattice=True, suppress_stdout = True)
我想提取表格上方的文本,即THE PARTICULARS,如下图所示。
对我来说最好的方法应该是什么?感谢任何帮助。谢谢
最佳答案
您可以直接创建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/