0

假设我有许多与此处类似的 pdf 文件:

我想提取下表并保存为 excel 文件:

在此处输入图像描述

我可以使用包excalibur手动提取表并保存 excel 文件。

使用 pip3安装Excalibur后,我使用以下命令初始化元数据数据库:

$神剑初始化数据库

然后使用以下命令启动网络服务器:

$ excalibur 网络服务器

然后转到 http://localhost:5000 并开始从 PDF 中提取表格数据。

我想知道是否可以使用 python 脚本自动为多个 pdf 文件执行此操作,这些文件包含excalibur-pycamelotpdfminer等包,因为表格的大小和位置对于同一个城市的报告是固定的。

您可以从此链接下载其他报告文件。

非常感谢提前。

4

1 回答 1

1

使用 Camelot,您可以像这样构建管道:

import camelot

files_list=['FIRST_PATH','SECOND_PATH',...]
regions=['REGION_COORDINATES_1', 'REGION_COORDINATES_2',...]

for filepath in files_list:
    tables=camelot.read_pdf(filepath, pages='1-end', table_regions=regions)
    tables.export('tables.xls', f='excel')

当您知道表格在页面内的大致位置时,应使用table_regions参数;如果您知道桌子的确切位置,则应使用table_areas

您可以在Camelot 文档中阅读有关这些参数和其他主题的更多信息。

于 2021-04-13T12:38:25.780 回答