使用camelot从PDF中提取表数据时,没有从PDF中提取标题

时间:2018-11-08 08:20:27

标签: pdf-scraping python-camelot

我正在使用camelot进行表数据提取,但是标头并未作为PDF的一部分被提取。

附加目标 下面的PDF链接和目标表位于第3和4页,需要将其提取。

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

其中一个表如下所示 enter image description here

我已经看过camelot文档,并且我认为问题与“检测短线”

有关

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

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

请协助。

1 个答案:

答案 0 :(得分:1)

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

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

使用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'])

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

希望有帮助!

enter image description here