问题描述
我可以使用包 excalibur 手动提取表格并保存 excel 文件。
使用 pip3 安装 Excalibur 后,我使用以下命令初始化元数据数据库:
$ excalibur 初始化数据库
然后使用以下命令启动网络服务器:
$ excalibur 网络服务器
然后转到 http://localhost:5000 并开始从 PDF 中提取表格数据。
我想知道是否可以使用 python 脚本自动为包含 excalibur-py、camelot、pdfminer 等包的多个 pdf 文件执行此操作,因为表的大小和位置固定用于同一城市的报告。
非常感谢。
解决方法
使用 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 documentation 中阅读有关这些参数和其他主题的更多信息。