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')

结果如下:

图片

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)

结果如下:

图片

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

联系方式

目前开通了技术交流群,群友已超过3000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友,资料、代码获取也可以加入

方式1、添加微信号:dkl88191,备注:来自CSDN
方式2、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Pythonpdfminer库来提取PDF的文本数据,然后使用openpyxl库将数据写入Excel。下面是一个示例代码: ```python import os import io import pdfminer from openpyxl import Workbook # 提取PDF的文本数据 def extract_text_from_pdf(pdf_path): with open(pdf_path, 'rb') as pdf_file: resource_manager = pdfminer.pdfinterp.PDFResourceManager() laparams = pdfminer.layout.LAParams() device = pdfminer.pdfpage.PDFPageAggregator(resource_manager, laparams=laparams) interpreter = pdfminer.pdfinterp.PDFPageInterpreter(resource_manager, device) extracted_text = '' for page in pdfminer.pdfpage.PDFPage.get_pages(pdf_file): interpreter.process_page(page) layout = device.get_result() for element in layout: if isinstance(element, pdfminer.layout.LTTextBoxHorizontal): extracted_text += element.get_text() return extracted_text # 将文本数据写入Excel def write_text_to_excel(text, excel_path): wb = Workbook() ws = wb.active rows = text.split('\n') for row in rows: ws.append(row.split('\t')) wb.save(excel_path) # 主程序 if __name__ == '__main__': pdf_path = 'example.pdf' excel_path = 'example.xlsx' text = extract_text_from_pdf(pdf_path) write_text_to_excel(text, excel_path) ``` 在这个示例,首先定义了一个`extract_text_from_pdf`函数,使用pdfminer库从PDF提取文本数据。然后定义了一个`write_text_to_excel`函数,使用openpyxl库将文本数据写入Excel文件。最后,在主程序调用这两个函数,将PDF的数据提取写入Excel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值