编程语言   发布时间:2022-06-23  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了〖Python自动化办公篇⑦〗- word文件自动化 - 实操之筛选简历大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
万叶集
🎉 隐约雷鸣࿰c;阴霾天空。 🎉
🎉 但盼风雨来࿰c;能留你在此。 🎉

前言: ɰc; 作者简介:渴望力量的哈士奇 ɰc;c;大家可以叫我 🐶哈士奇🐶 ࿰c;致力于大白话讲解技术知识的博主 ɰc; 🏆 CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 🏆 📫 如果文章知识点有错误的地方c;请指正!和大家一起学习࿰c;一起进步👀 Ὂc; 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。Ὂc; 5; 如果感觉博主的文章还不错的话࿰c;还请👍关注、点赞、收藏三连支持👍一下博主哦


5; 系列专栏:                🇨🇳 Python全栈系列 - [更新中]     【 本文在该系列】                        🍎 Python零基础入门篇                        🍎 Python语法进阶篇                        🍎 Python自动化办公篇                👋 网安之路系列 ​                       🍋 网安之路踩坑篇 ​                       🍋 网安知识扫盲篇 ​                       🍋 Vulhub 漏洞复现篇 ​                       🍋 SHell脚本编程篇 ​                       🍋 Web攻防篇   2021年9月3日停止更新࿰c;转战先知等安全社区 ​                       🍋 渗透工具使用集锦  2021年9月3日停止更新,转战先知等安全社区 ​                ⭐️ 点点点工程师系列 ​                       🍹 测试神器 - Charles 篇 ​                       🍹 测试神器 - Fiddler 篇 ​                       🍹 测试神器 - Jmeter 篇 ​                       🍹 自动化 - RobotFrameWork 系列 ​                       🍹 自动化 - 基于 JAVA 实现的WEB端UI自动化                        🍹 自动化 - 基于 MonkeyRunner 实现的APP端UI自动化

〖Python自动化办公篇⑦〗- word文件自动化 - 实操之筛选简历

〖Python自动化办公篇⑦〗- word文件自动化 - 实操之筛选简历

文章目录

    • 🐳 简历筛选
      • c; 定义 ReadDoc 类用以读取 word 文件
      • c; 定义 search_word 函数用以筛选 word 文件内容符合想要的简历

上一章节我们练习了通过表格和段落获取 word 文件的信息之后࿰c;现在来做一个具有实操性的小练习。通过读取简历来筛选出符合招聘条件的简历࿰c;接下来看看要如何实现这个小功能。

🐳 简历筛选

简历相关信息如下:


〖Python自动化办公篇⑦〗- word文件自动化 - 实操之筛选简历


c; 定义 ReadDoc 类用以读取 word 文件

已知条件:

想要查找包含指定关键字的简历(比如 Python、Java)


实现思路:

批量读取每一个 word 文件(通过 glob 获取 word 信息)࿰c;将他们的所有可读内容获取࿰c;并通过关键字方式筛选࿰c;拿到目标简历地址。


这里有个需要注意的地方就是࿰c;并不是所有的 "简历" 都是以段落的形式呈现的࿰c;比如从 "猎聘" 网下载下来的简历就是 "表格形式" 的࿰c;"boss" 上下载的简历就是 "段落形式" 的࿰c;这里再进行读取的时候需要注意下࿰c;我们做的演示脚本练习就是 "表格形式" 的。


这里的话࿰c;我们就可以专门定义一个 "ReadDoc" 的类࿰c;里面定义两个函数࿰c;分别用于读取 "段落" 和 "表格" 。

实操案例脚本如下:

# coding:utf-8


from docx import Document


class ReadDoc(object):              # 定义一个 ReadDoc ࿰c;用以读取 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)


    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)


if __name__ == '__main__':
    path = glob.os.path.join(glob.os.getcwd(), 'test_file/简历1.docx')
    doc = ReadDoc(path)
    print(doc)

看一下 ReadDoc 类的运行结果


〖Python自动化办公篇⑦〗- word文件自动化 - 实操之筛选简历


c; 定义 search_word 函数用以筛选 word 文件内容符合想要的简历

OK࿰c;上文已经成功读取了简历的 word 文档࿰c;接下来我们要将读取到的内容通过帅选关键字信息的方式࿰c;过滤出包含有关键字的简历。

实操案例脚本如下:

# coding:utf-8


import glob

from docx import Document


class ReadDoc(object):              # 定义一个 ReadDoc ࿰c;用以读取 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 = []               # 定义一个空列表࿰c;用以后续存储文件的信息

    for i in result:             # for 循环获取 result 内容

        isuse = True                # 是否可用

        if glob.os.path.isfile(i):       # 判断是否是文件
            if i.endswith('.docx'):      # 判断文件后缀是否是 "docx" ࿰c;若是࿰c;则利用 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_result


if __name__ == '__main__':
    path = glob.os.path.join(glob.os.getcwd(), '*')
    result = search_word(path, ['python', 'golang', 'React', '埋点'])      # 埋点是为了演示效果࿰c;故意在 "简历1.docx" 加上的
    print(result)

运行结果如下:


〖Python自动化办公篇⑦〗- word文件自动化 - 实操之筛选简历


大佬总结

以上是大佬教程为你收集整理的〖Python自动化办公篇⑦〗- word文件自动化 - 实操之筛选简历全部内容,希望文章能够帮你解决〖Python自动化办公篇⑦〗- word文件自动化 - 实操之筛选简历所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。