python 操作word文档,python排版word文档

  python 操作word文档,python排版word文档

  本文将利用Python自动化做一个实践练习,即阅读简历筛选出符合招聘要求的简历。文章中的示例代码有详细的讲解,感兴趣的朋友可以跟边肖一起学习。

  00-1010简历筛选定义ReadDoc类用于读取word文件定义。search_word功能用于筛选word文件的内容,以满足所需的简历。在前一章,我们练习了通过表格和段落获取word文件的信息后,我们来做一个实际的练习。看简历筛选出符合招聘要求的简历。接下来,我们来看看这个小功能是怎么实现的。

  

目录

  相关简历信息如下:

  

简历筛选

  已知条件:

  寻找包含指定关键词的简历(比如Python,Java)。

  实施思路:

  批量读取每一个word文件(通过glob获取word信息),获取它们所有可读的内容,通过关键字过滤得到目标简历地址。

  这里需要注意的一点是,并不是所有的‘简历’都是以段落的形式呈现的。比如从‘猎聘’下载的简历是‘表格’的形式,从‘老板’下载的是‘段落’的形式。读到这里,我们需要注意的是,我们做的演示文稿脚本练习是以‘表格’的形式出现的。

  在这里,我们可以具体定义一个 ReadDoc 类,它定义了两个分别用于读取段落和表格的函数。

  实际案例脚本如下:

  #编码:utf-8

  从docx导入文档

  ClassReadDoc (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 #读取的表格内容换行。

  打印(self.table_text)

  if __name__==__main__:

  path=glob . OS . path . join(glob . OS . getcwd(), test _ file/resume 1.docx )

  doc=ReadDoc(路径)

  打印(文档)

  看看ReadDoc类的运行结果。

  

定义 ReadDoc 类用以读取 word 文件

  好了,上面简历的wor已经看完了。

  d 文档,接下来我们要将读取到的内容通过帅选关键字信息的方式,过滤出包含有关键字的简历。

  实操案例脚本如下:

  

# coding:utf-8

  import glob

  from docx import Document

  class ReadDoc(object): # 定义一个 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_result

  if __name__ == __main__:

   path = glob.os.path.join(glob.os.getcwd(), *)

   result = search_word(path, [python, golang, react, 埋点]) # 埋点是为了演示效果,故意在 "简历1.docx" 加上的

   print(result)

  

  运行结果如下:

  

  到此这篇关于Python Word文件自动化实战之简历筛选的文章就介绍到这了,更多相关Python简历筛选内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 怎么在word中下载mathtype,word中怎么导入mathtype
  • php生成word文档的三种实现方式是什么,php 生成word
  • php生成word文档的三种实现方式是什么,php 生成word,PHP生成word文档的三种实现方式
  • IceSword,ice of swords
  • IceSword,ice of swords,IceSword (冰刃) 应用图文指南
  • 基于wordpress的博客建设,如何使用wordpress建站
  • ,,WordPress中设置Post Type自定义文章类型的实例教程
  • ,,MYSQL安装时解决要输入current root password的解决方法
  • 学生成绩管理系统c语言课程设计报告,学生成绩管理系统c语言程序设计,C语言学生成绩管理系统课程设计word版
  • 如何用python把pdf转为word,Python转PDF
  • word365怎么转pdf,office365word怎么转换pdf_1
  • Word文档图片不显示,Word文档的图片无法显示出来
  • 如何将多个wps文件合并成一个,WPS多个word文档合并成一个文档
  • wpsword怎么取消首字母大写,wps word取消首字母大写
  • 如何word文档删除空白页,怎样在word文档删除空白页
  • 留言与评论(共有 条评论)
       
    验证码: