从 Python 中的 pdf 文件中提取固定大小和位置 table
Extract fixed size and position table from pdf files in Python
假设我有许多与 here:
中的类似的 pdf 文件
我想提取以下 table 并另存为 excel 文件:
我可以使用包 excalibur.
手动提取 table 并保存 excel 文件
使用 pip3 安装 Excalibur 后,我使用以下方法初始化元数据库:
$ excalibur initdb
然后使用以下命令启动网络服务器:
$ excalibur webserver
然后转到 http://localhost:5000 并开始从 PDF 中提取表格数据。
我想知道是否可以使用 python 脚本为包含 excalibur-py, camelot, pdfminer 等包的多个 pdf 文件自动执行此操作,因为 table 的大小和位置是固定的对于同一城市的报告。
您可以从 this link 下载其他报告文件。
非常感谢。
使用 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在页面中的大概位置时使用;如果你知道 table 的确切位置,你应该使用 table_areas.
您可以在 Camelot documentation 中阅读有关这些参数和其他主题的更多信息。
假设我有许多与 here:
中的类似的 pdf 文件我想提取以下 table 并另存为 excel 文件:
我可以使用包 excalibur.
手动提取 table 并保存 excel 文件使用 pip3 安装 Excalibur 后,我使用以下方法初始化元数据库:
$ excalibur initdb
然后使用以下命令启动网络服务器:
$ excalibur webserver
然后转到 http://localhost:5000 并开始从 PDF 中提取表格数据。
我想知道是否可以使用 python 脚本为包含 excalibur-py, camelot, pdfminer 等包的多个 pdf 文件自动执行此操作,因为 table 的大小和位置是固定的对于同一城市的报告。
您可以从 this link 下载其他报告文件。
非常感谢。
使用 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在页面中的大概位置时使用;如果你知道 table 的确切位置,你应该使用 table_areas.
您可以在 Camelot documentation 中阅读有关这些参数和其他主题的更多信息。