我正在使用 Camelot 从 PDF 中提取表格数据。Camelot 工作得很好,但我有一个包含几张桌子的页面,我只需要一张。我想根据正则表达式搜索找到那个。
如果我运行指定表格区域的代码,它会找到表格。(如果我不指定参数,它假定整个页面是一个表)。
table = camelot.read_pdf(file, flavor="stream", pages='5', table_areas=['20, 530, 550, 350'], row_tol=15)
camelot.plot(table[0], kind='contour')
蓝色框是文本。我只关心红框中的文本表。
我的问题:鉴于我知道我正在搜索的文本,我如何搜索并获取大致的表格区域,然后将其传递给 Camelot?我已经有工作代码来搜索正则表达式(PyMuPDF)。
由于 Camelot 返回文本,我不得不认为有一种方法可以知道框坐标,但我无法从查看他们的文档中看到它,这里是:
https://camelot-py.readthedocs.io/en/master/api.html#lower-level-classes
我确定有一个 OpenCV 解决方案,但如果可能的话,我想先使用 Camelot。感谢任何帮助。谢谢你。