批量获取PDF里的数据,并转换成excel表格

今天朋友上班摸鱼被领导发现,一气之下给他1000个PDF文件让他把内容提取出来放到excel里,于是找我寻求帮助。

需求是要获取PDF图片里的文件名称,时间,检验编号,款号,这里就不放图了 

安装

pip install pdfminer  //扫描pdf

pip install pdfminer.six  //不安装会报错

pip install openpyxl //excel模块wwww 

 通过pdfminer模块获取图片上的数据,得到的数据用正则表达式匹配一下,然后用openpyxl导出

from openpyxl import Workbook
from pdfminer import high_level
import re,os
workbook = Workbook()
worksheet = workbook.active
worksheet['A1'] = '文件名称'    
worksheet['B1'] = '时间'
worksheet['C1'] = '检验编号'
worksheet['D1'] = '款号'
#pdf文件路径
#root:文件夹路径,dirs:文件夹下子目录名,files:文件夹下的文件
for root,dirs,files in os.walk('./22/'):
    
    #遍历pdf文件
    for f in files:
        file_name = os.path.join(root,f)
        if file_name.endswith('.pdf'):
            #提取整个 pdf 文本信息
            text = high_level.extract_text(file_name)
            #提取 pdf文档中 "企业进本情况:" 后面的信息,利用正则进行匹配
            time = r'(\d{4}-\d{1,2}-\d{1,2})'
            qy_time = re.findall(time,text)
            qy_wttc = re.findall('.*WTTC.*', text)
            qy_num = re.findall('\d{9,10}', text)       
            qy_num_list = list(set(qy_num))
            qy_num_str = ', '.join(qy_num_list)
            row = (f, qy_time[0], qy_wttc[0], qy_num_str)          
            worksheet.append(row)
workbook.save('example.xlsx')

朋友用了直说好 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值