我正在使用camelot进行表数据提取,但是标头并未作为PDF的一部分被提取。
附加目标 下面的PDF链接和目标表位于第3和4页,需要将其提取。
https://drive.google.com/file/d/1xniTIwpnNIdA_k4xvEARlVH97Lk-K2Yr/view?usp=sharing
我已经看过camelot文档,并且我认为问题与“检测短线”
有关https://camelot-py.readthedocs.io/en/master/user/advanced.html#detect-short-lines
但是,通过调整 line_size_scaling 参数无法解决该问题。
请协助。
答案 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
希望有帮助!