可以用python筛选简历吗,python优秀简历
本文给大家带来一些python的知识,主要介绍一些关于简历筛选的问题,包括定义ReadDoc类读取word文件,定义search_word函数进行筛选。下面就来看看吧,希望对你有帮助。
推荐:python视频教程
00-1010简历相关信息如下:
00-1010已知条件:
寻找包含指定关键词的简历(比如Python,Java)。
实施思路:
批量读取每一个word文件(通过glob获取word信息),获取它们所有可读的内容,通过关键字过滤得到目标简历地址。
这里需要注意的一点是,并不是所有的‘简历’都是以段落的形式呈现的。比如从‘猎聘’下载的简历是‘表格’的形式,从‘老板’下载的是‘段落’的形式。读到这里,我们需要注意的是,我们做的演示文稿脚本练习是以‘表格’的形式出现的。
在这里,我们可以具体定义一个 ReadDoc 类,它定义了两个分别用于读取段落和表格的函数。
实际案例脚本如下:
# coding:UTF-8 from docx导入文档类ReadDoc (object) 3360 #定义一个ReadDoc来读取一个word文件。
Def __init__(self,path): #构造函数默认传入读取word文件的路径。
self.doc=文档(路径)
self.p_text=
self.table_text=
self.get_para()
self.get_table()
DEF _ PARA (self) : #定义get_para函数用来读取word文档的段落。
对于self . doc . paragraphs 3360中的p
Self.p_text=p.text \n #将阅读的段落内容换行。
打印(self.p_text)
Get_table (self) 3360 #定义Get_table函数,循环读取表的内容。
用于self.doc.tables:中的表
对于table.rows:中的行
_cell_str= #获取每一行的完整信息
对于row.cells:中的单元格
_cell_str=cell.text , #每行由,分隔
Self.table_text=_cell_str \n #读取的表格内容换行。
print(self . table _ text)if _ _ name _ _== _ _ main _ _ :
path=glob . OS . path . join(glob . OS . getcwd(), test _ file/resume 1.docx )
doc=ReadDoc(路径)
Print(doc)看看ReadDoc类的运行结果
简历筛选
OK,简历的word文档上面已经看成功了。接下来,我们将通过选择关键词信息,筛选出包含关键词的简历。实际案例脚本如下:
# coding 3360 utf-8 import glob from docx导入文档类ReadDoc (object) 3360 #定义一个ReadDoc来读取一个word文件。
def __init__(self,
path): # 构造函数默认传入读取 word 文件的路径
self.doc = Document(path)
self.p_text = ''
self.table_text = ''
self.get_para()
self.get_table()
def get_para(self): # 定义 get_para 函数用以读取 word 文件的段落
for p in self.doc.paragraphs:
self.p_text += p.text + '\n' # 读取的段落内容进行换行
# print(self.p_text) # 调试打印输出 word 文件的段落内容
def get_table(self): # 定义 get_table 函数循环读取表格内容
for table in self.doc.tables:
for row in table.rows:
_cell_str = '' # 获取每一行的完整信息
for cell in row.cells:
_cell_str += cell.text + ',' # 每一行加一个 "," 隔开
self.table_text += _cell_str + '\n' # 读取的表格内容进行换行
# print(self.table_text) # 调试打印输出 word 文件的表格内容def search_word(path, targets): # 定义 search_word 用以筛选符合内容的简历;传入 path 与 targets(targets 为列表)
result = glob.glob(path)
final_result = [] # 定义一个空列表,用以后续存储文件的信息
for i in result: # for 循环获取 result 内容
isuse = True # 是否可用
if glob.os.path.isfile(i): # 判断是否是文件
if i.endswith('.docx'): # 判断文件后缀是否是 "docx" ,若是,则利用 ReadDoc类 实例化该文件对象
doc = ReadDoc(i)
p_text = doc.p_text # 获取 word 文件内容
table_text = doc.table_text
all_text = p_text + table_text for target in targets: # for 循环判断关键字信息内容是否存在
if target not in all_text:
isuse = False
break
if not isuse:
continue
final_result.append(i)
return final_resultif __name__ == '__main__':
path = glob.os.path.join(glob.os.getcwd(), '*')
result = search_word(path, ['python', 'golang', 'react', '埋点']) # 埋点是为了演示效果,故意在 "简历1.docx" 加上的
print(result)运行结果如下:
推荐学习:python视频教程以上就是Python自动化实践之筛选简历的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。