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迭代器的使用方法实例
Nov 21 Python
python中使用sys模板和logging模块获取行号和函数名的方法
Apr 15 Python
使用Python实现BT种子和磁力链接的相互转换
Nov 09 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
利用Python读取txt文档的方法讲解
Jun 23 Python
在python中使用with打开多个文件的方法
Jan 07 Python
Python Selenium 之关闭窗口close与quit的方法
Feb 13 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
Nov 08 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 Python
Python unittest框架操作实例解析
Apr 13 Python
Python基于unittest实现测试用例执行
Nov 25 Python
详解Python模块化编程与装饰器
Jan 16 Python
python对文档中元素删除,替换操作
Apr 02 #Python
Python中第三方库Faker的使用详解
Python数据处理的三个实用技巧分享
Python+Tkinter打造签名设计工具
Python正则表达式中flags参数的实例详解
Apr 01 #Python
Python+Tkinter制作专属图形化界面
Pyhton爬虫知识之正则表达式详解
You might like
无线电的诞生过程
2021/03/01 无线电
在PHP中读取和写入WORD文档的代码
2008/04/09 PHP
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
2016/06/13 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
2016/06/01 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
2018/05/10 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
微信小程序实现树莓派(raspberry pi)小车控制
2020/02/12 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
网络工程师的自我评价
2013/10/02 职场文书
大课间活动制度
2014/01/18 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
财务部总监岗位职责
2014/03/12 职场文书
成龙洗发水广告词
2014/03/14 职场文书
小学三年级学生评语
2014/04/22 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
运动会拉拉队口号
2014/06/09 职场文书
明星员工获奖感言
2014/08/14 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
党支部考察意见范文
2015/06/02 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python