1

使用 Camelot-py 从 .PDF 中抓取表格数据,它不会拾取堆叠的文本行(请参阅下面的第 9 行和第 10 行)

1 到 14

第 9 行和第 10 行没有文字说明。

https://camelot-py.readthedocs.io/en/master/user/advanced.html#specify-table-areas

这是我拥有的 .ipynb 格式的代码。第一个块用于按预期提取的第一个表,第二个用于第 9 页。

桌子

tables= camelot.read_pdf(r'C:\PDFFilePath', pages='9', line_scale=40)
    tables[0].to_csv(r'Loans&Leases')
    camelot.plot(tables[0], kind ='contour')
    plt.show()

使用 MatPlotLib,我可以看到 Camelot 正确检测了第 9 页的表格区域/网格。

绘图表区域

绘图网格

这是 PDF 的 Google Drive 链接

通话报告 PDF

任何见解将不胜感激。

4

1 回答 1

0

你的代码是正确的。

如果您尝试键入tables[0].df,这是正确的输出:

在此处输入图像描述

因此,在导出到 CSV 时,您的问题是第 10 行和第 11 行中的换行符 (\n)。

解决方案可以是以下代码:

tables= camelot.read_pdf(r'C:\PDFFilePath', pages='9', line_scale=40, strip_text='\n')

使用strip_text,您可以去除不需要的字符(参见官方文档)。

现在,如果您将表格导出为 CSV,您将获得: 在此处输入图像描述

于 2020-03-12T08:44:22.830 回答