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深入学习之上下文管理器
Aug 31 Python
Python 探针的实现原理
Apr 23 Python
你应该知道的python列表去重方法
Jan 17 Python
pandas中的series数据类型详解
Jul 06 Python
对Python生成器、装饰器、递归的使用详解
Jul 19 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
Python对接支付宝支付自实现功能
Oct 10 Python
Python底层封装实现方法详解
Jan 22 Python
tensorflow之tf.record实现存浮点数数组
Feb 17 Python
python 利用百度API识别图片文字(多线程版)
Dec 14 Python
python爬虫今日热榜数据到txt文件的源码
Feb 23 Python
python opencv人脸识别考勤系统的完整源码
Apr 26 Python
python对文档中元素删除,替换操作
Apr 02 #Python
Python中第三方库Faker的使用详解
Python数据处理的三个实用技巧分享
Python+Tkinter打造签名设计工具
Python正则表达式中flags参数的实例详解
Apr 01 #Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
You might like
php实现检查文章是否被百度收录
2015/01/27 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
PHP实现二维数组根据key进行排序的方法
2016/12/30 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
window.open的功能全解析
2006/10/10 Javascript
javascript 文档的编码问题解决
2009/03/01 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
微信小程序实现给循环列表添加点击样式实例
2017/04/26 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
浅析Git版本控制器使用
2017/12/10 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
Python for循环与range函数的使用详解
2019/03/23 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
python支持多继承吗
2020/06/19 Python
详解Python多线程下的list
2020/07/03 Python
python 实现单例模式的5种方法
2020/09/23 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
美国美食礼品篮网站:Gourmet Gift Baskets
2019/12/15 全球购物
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
金融事务专业求职信
2014/04/25 职场文书
《长征》教学反思
2014/04/27 职场文书
工作证明格式及范本
2014/09/12 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
nginx共享内存的机制详解
2022/03/21 Servers