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使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
Python实现数据库编程方法详解
Jun 09 Python
详解python3百度指数抓取实例
Dec 12 Python
Python numpy 常用函数总结
Dec 07 Python
Flask-Mail用法实例分析
Jul 21 Python
python 实现语音聊天机器人的示例代码
Dec 02 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
Jan 26 Python
Django中ORM外键和表的关系详解
May 20 Python
django自带serializers序列化返回指定字段的方法
Aug 21 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
Aug 24 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 Python
python对文档中元素删除,替换操作
Apr 02 #Python
Python中第三方库Faker的使用详解
Python数据处理的三个实用技巧分享
Python+Tkinter打造签名设计工具
Python正则表达式中flags参数的实例详解
Apr 01 #Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
You might like
怎样在php中使用PDF文档功能
2006/10/09 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
js实现的仿新浪微博完美的时间组件升级版
2011/12/20 Javascript
简述AngularJS相关的一些编程思想
2015/06/23 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成"...")
2016/11/28 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
英国健身超市:Fitness Superstore
2019/06/17 全球购物
一套软件测试笔试题
2014/07/25 面试题
学生手册家长评语
2014/02/10 职场文书
社区敬老月活动实施方案
2014/02/17 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
机关节能减排实施方案
2014/03/17 职场文书
设计专业自荐信
2014/06/19 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
golang定时器
2022/04/14 Golang