【问题标题】:How to get table coordinates using python-camelot?如何使用 python-camelot 获取表格坐标?
【发布时间】:2019-09-19 11:59:56
【问题描述】:

我正在尝试解析一些 pdf 文件以提取一些关键信息。每个 pdf 中有许多表包含这些信息的一部分。所以我尝试使用 camelot 来提取表格,我得到了很好的结果,但我想提取每个表格的标题,因为我想为每个表格及其标题做一个映射。所以我尝试使用tables[i]._bbox获取每个表格的坐标,然后在这些坐标上添加一些边距以检测表格标题的区域(它可以在顶部,左侧或底部) ) 如图所示:title of table on the left

title of the table on the top

谁能告诉我如何使用python根据表格坐标从pdf中获取包含表格标题的红色区域的坐标?

【问题讨论】:

    标签: python-3.x pdf python-camelot


    【解决方案1】:

    您可以直接创建 PDF 解析器。例如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 中调用表格提取的方式,您可以再次解析 PDF:

    from camelot import utils
    layout, dim = utils.get_page_layout(file_name)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 2019-04-12
      • 2022-01-07
      相关资源
      最近更新 更多