公司头条

推广运维推广运维
关注: 0贴子:13 排名: 4 
0 回复贴,30 次查看
<返回列表

python实战项目,识别简历图片文字,并且填写到excel表中 ...

1

主题

1

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2018-11-6 13:14:44
python实战项目,识别简历图片文字,并且填写到excel表中 ...
python实战项目,识别简历,并且填入 excel 整体流程

其实流程很简单,就是将简历拍照,发送给程序,程序识别出文字,正则匹配出相关信息,填写入 excel 对应栏目。
由于之前的几篇博客,已经比较清晰的介绍了 python识别图中的文字python正则表达式的使用,所以,我们只详细介绍一下 python操作excel 和整体流程。
python实战项目,操作 excel

python 操作 excel 的要领还是异常多的。这里介绍使用 python 的 xlwt 库。
1. xlwt 库的安装

xlwt 库的安装异常简单,执行
pip install xlwt即可,测试能否正常导入,发现是正常的。
$ pythonPython 2.7.12 (default, Dec  4 2017, 14:50:18) [GCC 5.4.0 20160609] on linux2Type "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 文件同目录,然后运行剧本,获得:
python实战项目,识别简历图片文字,并且填写到excel表中 ...
python实战项目,识别简历,自动填写 excel

1. 识别简历内容

这个,我们前面的博客已经说的比较清楚了,可以再翻回去看看:python识别图中的文字。这里我们做一下小小的改动,将文字集中在一起:
# encoding:utf-8import base64import urllibimport urllib2, jsonfrom token import GetToken'''文字识别'''url = "http://aip.百度bce.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']['words'])        return res    return None2. 保存到 excel 表

根据上面的 python 操作 excel 示例,我们这里把存到 excel 的行动,写成一个函数,最终,悉数代码以下,值得说明的是,这里只是示范,代码只是 demo 级,希望和大家交流,也算是做个笔记。提守信息的部分,用到了 python正则表达式
# encoding:utf-8import base64import xlwt, reimport urllibimport urllib2, jsonfrom token import GetToken'''文字识别'''url = "http://aip.百度bce.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']['words'])        return res    return Nonedef 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.xlsif __name__ == "__main__":    pic = "pic/2.jpg"   # 这里写我们要识别的图片名字    res = OcrRecg(pic)    # print res    SaveExcel(res)3. 测试

代码写完了,可以测试了,找到一张简历如图:
python实战项目,识别简历图片文字,并且填写到excel表中 ...
运行我们的剧本,发现想要的简历信息提掏出来了,并且自动存到 excel 内外了。
python实战项目,识别简历图片文字,并且填写到excel表中 ...
成功了!
回复

使用道具 举报

快速回帖 使用高级回帖 (可批量传图、还有插入视频等功能哦!)

您需要登录后才可以回帖 登录 | 立即注册

  • 发布信息免费
  • 发贴彩色标题
  • 签到额外经验值

如何快速提升等级,查看[积分规则]

活动中心

查看更多>>
最新热版
会员排行
©2001-2018 公司头条 https://www.ewxf.com中国互联网举报中心沪ICP备14046342号-13 本站内容均来自网络转载或网友提供,如有侵权请及时联系我们,Cxy@izhiben.CN 公安网备|网站地图 企业map 产品map 新闻map 其他map
Archiver手机版小黑屋广告合作QQ:864633495
发帖 客服 微信 手机版 举报