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中的对象拷贝示例 python引用传递
Jan 23 Python
Python扫描IP段查看指定端口是否开放的方法
Jun 09 Python
Python pandas常用函数详解
Feb 07 Python
python矩阵转换为一维数组的实例
Jun 05 Python
python解决字符串倒序输出的问题
Jun 25 Python
NumPy.npy与pandas DataFrame的实例讲解
Jul 09 Python
numpy中loadtxt 的用法详解
Aug 03 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
Nov 06 Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 Python
python3的数据类型及数据类型转换实例详解
Aug 20 Python
在Python3 numpy中mean和average的区别详解
Aug 24 Python
学python爬虫能做什么
Jul 29 Python
python对文档中元素删除,替换操作
Apr 02 #Python
Python中第三方库Faker的使用详解
Python数据处理的三个实用技巧分享
Python+Tkinter打造签名设计工具
Python正则表达式中flags参数的实例详解
Apr 01 #Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
You might like
当海贼王变成JOJO风
2020/03/02 日漫
php中一个完整表单处理实现代码
2011/11/10 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
将php数组输出html表格的方法
2014/02/24 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
php中最简单的字符串匹配算法
2014/12/16 PHP
Jquery中删除元素的实现代码
2011/12/29 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
2018/01/02 jQuery
修改vue+webpack run build的路径方法
2018/09/01 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
numpy.where() 用法详解
2019/05/27 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
台湾网友喜爱的综合型网路购物商城:Yahoo! 奇摩购物中心
2018/03/10 全球购物
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
学校三节实施方案
2014/06/09 职场文书
离婚协议书的书写要求
2014/09/17 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
优秀教师单行材料
2014/12/16 职场文书
2016元旦文艺汇演主持词(开场白+结束语)
2015/12/03 职场文书
初三语文教学反思
2016/03/03 职场文书
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python