Python实现提取PDF简历信息并存入Excel


Posted in Python onApril 02, 2022

介绍

今天为大家分享一个真实的案例。

今天接到人力资源部同事的需求,想把他人投递的PDF简历资料里的关键信息数据,提取到excel表中汇总。

Python实现提取PDF简历信息并存入Excel

目标资料背景:是由求职者自行编制的简历材料,投递到人力资源部。由于其数据格式的不确定,对数据信息的采集带来了一定困难。

Python实现提取PDF简历信息并存入Excel

我的解答思路是:先从PDF文档中抓取文字信息保存到word文档中,然后再从word文档中读取文字信息保存到excel中。

1. 将PDF文档中的文字读取到word中

import pdfplumber
from docx import Document

with pdfplumber.open('1_5的简历1632532336.pdf') as rpdf:
    first_page = rpdf.pages[0]
    print(first_page.extract_text())

doc = Document()
rpdfword = first_page.extract_text()

pages = doc.add_paragraph(rpdfword)

doc.save('测试2.docx')

结果如下:

Python实现提取PDF简历信息并存入Excel

2. 将word中读到的文字输入到excel中

#导入所需库
from docx import Document
import xlwings as xw

#写数据
def excel_write(a,path,sheetname,write_cols,write_rows):
    app=xw.App(visible=False,add_book=False)
    app.display_alerts=False
    app.screen_updating=False
    wb=app.books.open(path)
    sht=wb.sheets[sheetname]
    weizhi = []
    try:
        i = 0
        while i!=len(write_cols):
            j = 0
            while j!=len(write_rows):
                weizhi.append(write_cols[i]+str(write_rows[j]))
                j+=1
            i+=1
        k=0
        while k!=len(a):
            sht.range(weizhi[k]).value=a[k].text
            print(weizhi[k])
            k+=1
    finally:
        wb.save()
        wb.close()
        app.kill()

if __name__ == "__main__":
    #打开word文档
    document = Document(u"测试2.docx")
    
    #获取所有段落
    all_paragraphs = document.paragraphs    
    print(len(all_paragraphs))
        
    
    excel_path =r'报名人员信息统计表(模板).xls'
    SheetName = r'Sheet1'
    
    wcols = ['c','d','i','h','e','f','j','L']
    #新读取一个简历要换一行
    wrow = [3]
    excel_write(all_paragraphs,excel_path,SheetName,wcols,wrow)

结果如下:

Python实现提取PDF简历信息并存入Excel

在读取word中文字时,需要注意调配相应关键信息字符信息,必要时可以删除非关键信息。

到此这篇关于Python实现提取PDF简历信息并存入Excel的文章就介绍到这了,更多相关Python提取PDF信息内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python通过matplotlib画双层饼图及环形图简单示例
Dec 15 Python
深入了解Python中pop和remove的使用方法
Jan 09 Python
python实现基于信息增益的决策树归纳
Dec 18 Python
python flask框架实现传数据到js的方法分析
Jun 11 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
python利用百度云接口实现车牌识别的示例
Feb 21 Python
Django 解决上传文件时,request.FILES为空的问题
May 20 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
keras topN显示,自编写代码案例
Jul 03 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
Jan 01 Python
使用sublime text3搭建Python编辑环境的实现
Jan 12 Python
python 实现定时任务的四种方式
Apr 01 Python
python对文档中元素删除,替换操作
Apr 02 #Python
Python中第三方库Faker的使用详解
Python数据处理的三个实用技巧分享
Python+Tkinter打造签名设计工具
Python正则表达式中flags参数的实例详解
Apr 01 #Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
You might like
动易数据转成dedecms的php程序
2007/04/07 PHP
关于Intype一些小问题的解决办法
2008/03/28 PHP
PHPMailer 中文使用说明小结
2010/01/22 PHP
php whois查询API制作方法
2011/06/23 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
javascript globalStorage类代码
2009/06/04 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
Python生成数字图片代码分享
2017/10/31 Python
python中下标和切片的使用方法解析
2019/08/27 Python
python修改文件内容的3种方法详解
2019/11/15 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
家长会标语
2014/06/24 职场文书
大学生活动总结模板
2014/07/02 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
银行资信证明
2015/06/17 职场文书
小学语文教学反思范文
2016/03/03 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers
MySQL 视图(View)原理解析
2021/05/19 MySQL