最近南方的天气燥热烦闷。每天下班时头上还顶着大太阳。这么早也没啥事,就想着喊上隔壁村的二狗子去撸串。可是喊了几次都没来,一问才知道,这小子最近天天加班。
“现在生产都还没完全恢复,你们咋这么忙呢?” 这个二狗子在一家电子厂做质检员
’唉,别提了。前段时间我们供给A客户的一批支架出了点问题。现在客户要求每批货的抽检数量从10个涨到50个“
”那又不用你来检,你加个毛线班啊 “
”老哥有所不知啊,自从出了问题我们领导被客户叼了一顿后,让我每天把测量室给的几百份测量报告整理出来,把这些抽检零件的关键尺寸统计汇总出来并可视化,美其名曰看趋势,主动预防。我每天下班就忙着把几百份报告的各种数据抄录到excel,别提多痛苦了!昨天搞得太晚,抄错了几个,今天又被臭骂一顿。我都快崩溃了,这活哪是人干的呀!“
听二狗子这么一诉苦,我倒有点同情他了。不过他说的没错,抄录几百份报告这活确实不是人干的!耗费精力不说,还非常容易出错。
”你那报告长啥样子,拍个图片给我看看?我看看能不能撸一段代码帮你搞定。“
”那敢情好啊!“
说完二狗子便发了一份文档给我,我一看是个pdf的文件。一般的产品检验报告都是pdf档
部分截图如下(敏感信息已遮蔽)
image.png
图片上highlight出来的信息就是要提取的。一个是产品测量的特征,例如这里的Diameter(直径),下面是测量的结果12.2999。
每份文件代表一个零件,每个零件要测的尺寸都在报告里面,500多个文档就是500多个零件。二狗子要做的工作就是把这500多份pdf文档里面的数据整理到excel里面,这样可以用excel分析一下尺寸的变化趋势。卧槽,这要是手工来抄录,假设一个零件要统计10个尺寸,你把这10个尺寸copy到excel,在加上文件打开关闭,怎么着也要30秒。500多份妥妥的要大半天时间!
”你这个简单,我晚上回去帮你搞定!“ 我一看这个重复劳动非常适合用Python来做。现在很多办公文员都上了Python办公自动化了,怎么这个二狗子还在加班干这个。太没前途了!这个忙我得帮,不过不能白帮,搞完了得让他请吃饭。
”真的啊,太感谢你了老哥。搞好了,明天请你喝酒撸串串!“
”必须滴!“
好了,说干就干。
因为是个小项目,犯不着用Pycharm来开发,直接上Jupyter,可以顺着思路一边做一遍调试。
首先总体思路:
先调试一个文档,把一个pdf文档里面的内容抠出来,
在加上批处理逻辑,处理整个文件夹下的所有pdf档
对于一个pdf文档,思路是先pdf 转成excel,在提取出需要的信息(测量特征和数值),在把信息写入一个新建的文档。
就是这么简单!但是这里要用到一个处理pdf的第三方库,pdfplumber。这货功能很强大,可以抓取pdf文档中的文字,表格等。
import pandas as pd
import pdfplumber
path = '20200702-215_NO.1.pdf' # 要处理的pdf文件
pdf = pdfplumber.open(path)
print(pdf.pages) #查看是否能将pdf文件顺利打开
>>>[