旁门左道:如何一键提取pdf文档中的全部表格
1 项目概述
本项目由一个独立执行的.exe文件构成,可实现一键获取(白嫖)PDF文档中的所有表格。所有表格依次存储在一个.xlsx文件的不同Sheet中。
2 项目需求
在检验检测日常的工作中,特别是色谱和质谱操作人员的日常工作中。我们经常会遇到要复制PDF文档中表格的信息到Excel表格中。特别是在进行方法标准验证和编写验证报告的过程中,遇到需要复制PDF表格中的数据的情况非常多,比如我就经常遇到。
故事:
有一天,我正在苦哈哈的对着还没写完的报告抓耳挠腮,需要PDF文档中的表格复制到Excel中...
然后看到WPS提供PDF表格转换的功能,点击开始提取,然后就看到了这个...
充钱,不可能的,我口袋里的钱,进去了就别想出来...
图1 图2
3 项目实现
3.1 原理与方法
项目主要依靠python编程语言、Pandas、NumPy、pdfplumber等第三方依赖库,其中pdfplumber是能够实现读取PDF中的文字、表格等数据,功能覆盖范围较广。
除了pdfplumber库,其他的库也能实现类似的功能,详见下图:
图3 多个可实现操作PDF文件的第三方依赖库和功能范围
3.2 核心代码和解释
3.2.1 函数1:提取pdf中每一页文档中的每一页的表格,并以二位数组的方式存储,等待调用。
3.2.2 函数2:对函数1中提取到的表格二维数组使用Pandas转换为DataFrame,等待调用。
3.2.3 函数3:构建Excel文件,遍历DataFrame数据表,依次存入每一个sheet中。
4 代码下载
百度网盘链接
链接:https://pan.baidu.com/s/17BUr4RRlP9dLgj_vHJwUaw
提取码:dgj3
5 使用方法
step1:将PDF文档和.exe可执行文件存放在同一文件夹下,不要有中文路径。如图3所示。
step2:双击文件夹,稍后片刻,黑色命令框出现后不要点击关闭。
step3:等待几十秒,根据命令框提示,你将看到文件夹中出现.xlsx格式文件。如图4所示。
图4
操作示例与提示
图5 黑色命令框和提示信息
图6 最终结果
6 结尾
本次发布为测试版,未来将会完善和添加更多功能。