python简历项目经验在哪里找_python实战项目,识别简历图片文字,并且填写到excel表中...

最近有朋友进入公司实习,抱怨工作太累。她的工作内容是把很多人的工作简历信息,按照条目输入电脑的 excel 表里,简单,但是量大。正好,我们昨天才介绍了 python识别图中的文字,所以决定做一个自动工作帮帮她。

1b1f6e5db586266c4fefd1f04a362fa4.png

python实战项目,识别简历,并且填入 excel 总体流程

其实流程很简单,就是将简历拍照,发送给程序,程序识别出文字,正则匹配出相关信息,填写入 excel 对应栏目。

由于之前的几篇博客,已经比较清晰的介绍了 python识别图中的文字 和 python正则表达式的使用,所以,咱们只详细介绍一下 python操作excel 和整体流程。

python实战项目,操作 excel

python 操作 excel 的方法还是非常多的。这里介绍使用 python 的 xlwt 库。

1. xlwt 库的安装

xlwt 库的安装非常简单,执行pip install xlwt

即可,测试能否正常导入,发现是正常的。$ python

Python 2.7.12 (default, Dec 4 2017, 14:50:18)

[GCC 5.4.0 20160609] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import xlwt

>>> exit()

2. xlwt 的使用

本着实用性原则,因为咱们将只用到写入,所以只介绍写入,以 代码+注释 的形式介绍,会比较清楚:# -*- coding: utf-8 -*-

#文件名 test.py

#导入xlwt模块

import xlwt

# 创建一个Workbook对象,这就相当于创建了一个Excel文件

book = xlwt.Workbook(encoding='utf-8', style_compression=0)

#创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。

# 在电脑桌面右键新建一个Excel文件,其中就包含sheet1,sheet2,sheet3三张表

sheet = book.add_sheet('test', cell_overwrite_ok=True)

# 其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是False

# 向表test中添加数据

sheet.write(0, 0, 'www.xrkzn.cn') # 其中的'0-行, 0-列'指定表中的单元,'EnglishName'是向该单元写入的内容

sheet.write(1, 0, 'xrkzn')

txt1 = '向日葵智能'

sheet.write(0, 1, txt1.decode('utf-8')) # 此处需要将中文字符串解码成unicode码,否则会报错

txt2 = 'python实战项目'

sheet.write(1, 1, txt2.decode('utf-8'))

# 最后,将以上操作保存到指定的Excel文件中

book.save(r'./test1.xls') # 在字符串前加r,声明为raw字符串,这样就不会处理其中的转义了。否则,可能会报错

在执行脚本前,我们先创建一个 execl 文件 test1.xls 放在 test.py 文件同目录,然后运行脚本,得到:

c1f8c6133fc15d78f7937e09723473a6.png

python实战项目,识别简历,自动填写 excel

1. 识别简历内容

这个,咱们前面的博客已经说的比较清楚了,可以再翻回去看看:python识别图中的文字。这里咱们做一下小小的改动,将文字集中在一起:# encoding:utf-8

import base64

import urllib

import urllib2, json

from token import GetToken

'''

文字识别

'''

url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"

def OcrRecg(fileName):

# 二进制方式打开图片文件

f = open(fileName, 'rb')

img = base64.b64encode(f.read())

params = {"image":img}

params = urllib.urlencode(params)

access_token = GetToken()

request_url = url + "?access_token=" + access_token

print request_url

request = urllib2.Request(url=request_url, data=params)

request.add_header('Content-Type', 'application/x-www-form-urlencoded')

response = urllib2.urlopen(request)

content = response.read()

res = ""

if content:

js = json.loads(content)

for i in range(0, js['words_result_num']):

res = res + (js['words_result'][i]['words'])

return res

return None

2. 保存到 excel 表

按照上面的 python 操作 excel 示例,咱们这里把存到 excel 的动作,写成一个函数,最终,全部代码如下,值得说明的是,这里只是示范,代码只是 demo 级,希望和大家交流,也算是做个笔记。提取信息的部分,用到了 python正则表达式。# encoding:utf-8

import base64

import xlwt, re

import urllib

import urllib2, json

from token import GetToken

'''

文字识别

'''

url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"

def OcrRecg(fileName):

# 二进制方式打开图片文件

f = open(fileName, 'rb')

img = base64.b64encode(f.read())

params = {"image":img}

params = urllib.urlencode(params)

access_token = GetToken()

request_url = url + "?access_token=" + access_token

print request_url

request = urllib2.Request(url=request_url, data=params)

request.add_header('Content-Type', 'application/x-www-form-urlencoded')

response = urllib2.urlopen(request)

content = response.read()

res = ""

if content:

js = json.loads(content)

for i in range(0, js['words_result_num']):

res = res + (js['words_result'][i]['words'])

return res

return None

def SaveExcel(content):

book = xlwt.Workbook(encoding='utf-8', style_compression=0)

sheet = book.add_sheet('test', cell_overwrite_ok=True)

sheet.write(0, 0, "姓名") # 提取这几条信息为示范

sheet.write(0, 1, "出生年月")

sheet.write(0, 2, "毕业院校")

sheet.write(0, 3, "专业")

sheet.write(0, 4, "电话")

# pattern = re.compile(u'姓名:(.*?)性别', re.S);

pattern = re.compile(u'姓名:(.*?)性别.*?出生年月:(.*?)学历.*?毕业院校:(.*?)专业:(.*?)现居住地.*?电话:(.*?)Q', re.S);

result = pattern.findall(content)

i = 0

for item in result[0]:

print item

sheet.write(1, i, item)

i = i+1

book.save(r'./test1.xls') #保存到 test1.xls

if __name__ == "__main__":

pic = "pic/2.jpg" # 这里写咱们要识别的图片名字

res = OcrRecg(pic)

# print res

SaveExcel(res)

3. 测试

代码写完了,可以测试了,找到一张简历如图:

8bfd61ca35ad09ae6531538075736c42.png

运行咱们的脚本,发现想要的简历信息提取出来了,并且自动存到 excel 表里了。

cd8878e42c87cf9e3d3aced3352aa562.png

成功了!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值