使用 camelot 从 PDF 中提取 table 数据时,Headers 未从 PDF 中提取

Headers are not getting extracted from PDF while extracting the table data from PDF using camelot

我正在使用 camelot 进行 table 数据提取,但是 header 没有作为 PDF 的一部分被提取。

附加目标 下面的 PDF link 和目标 table 位于第 3 页和第 4 页,需要提取它们。

https://drive.google.com/file/d/1xniTIwpnNIdA_k4xvEARlVH97Lk-K2Yr/view?usp=sharing

其中一个 table 如下所示

我看过 camelot 文档,我认为问题与 "Detect short lines"

有关

https://camelot-py.readthedocs.io/en/master/user/advanced.html#detect-short-lines

但是无法通过调整 line_size_scaling 参数来解决问题。

请协助。

我使用 $ camelot -p 3 lattice -plot contour 007.pdf 在第 3 页上绘制了检测到的 table 边界。看起来 Camelot 没有在检测到的 table 边界 [bug 1] 中包含 header 行(见下图)。然后我尝试将 table_areas 关键字参数与 flavor='lattice' 一起使用,但它没有包含指定 table 边界中的行 [bug 2]。我已将这些添加到问题跟踪器中作为 #200 and #201.

您仍然可以将 table_areas 关键字参数与 flavor='stream' 一起使用来获取 table。

使用 CLI:$ camelot -p 3 --output 007.csv --format csv stream -T 60,770,520,400 007.pdf

使用API:tables = camelot.read_pdf('007.pdf', pages='3', flavor='stream', table_areas=['60,770,520,400'])

您可以使用此处描述的步骤找到 table 边界坐标:https://camelot-py.readthedocs.io/en/master/user/advanced.html#visual-debugging

希望对您有所帮助!