手把手教你用Python操纵Word自动编写离职报告

在看办公自动化之前,我们来看一下百度百科给出的定义:

办公自动化(Office Automation,简称OA)是将 现代化办公计算机技术结合起来的一种新型的办公方式。
办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。
通过实现办公自动化,或者说实现数字化办公,可以优化现有的管理组织结构,调整管理体制,在提高效率的基础上,增加协同办公能力,强化决策的一致性 。

而我们Python进行办公自动化又需要学习什么样的知识呢?

或许这是很多非 IT 职场人士面临的困惑,想把 python 用到工作中,却不知如何下手?python 在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音。

大家注意啊 批量处理!!!,如果你只有几份文件那用不用Python也无所谓,但是如果量比较大Python进行办公自动化可就是各位的福音啦!

其实所谓的自动化办公无非是 excel、ppt、word、邮件、文件处理、数据分析处理等。

本篇文章主要给大家介绍word自动化的操作和案例。

模块安装

Windows用户打开命令行输入:pip install python-docx docx-mailmerge

Mac用户打开终端/Terminal输入:pip3 install python-docx docx-mailmerge

如果无法安装,可以转换为国内清华镜像源(当然其他的也没有问题了),Windows系统操作如下,在cmd模式下输入

pip install python-docx docx-mailmerge -i https://pypi.tuna.tsinghua.edu.cn/simple

导入模块:

import docx
from mailmerge import MailMerge

案例说明

近年由于疫情关系,部分公司压力山大,不得不裁员或者加班。这不又有10位员工离职了。而在人力那里不仅要办一些离职的交接工作,还需要给这些离职的员工开具离职证明!

首先看一下离职证明的模版样式

手把手教你用Python操纵Word自动编写离职报告

如果人力资源的妹妹们,一个一个的填写太麻烦了。这个也是相当费时间的。如果哦一不小心写错了还要重来。

那如何快速的生成多份证明呢?这不办公自动化轻松帮人力朋友搞定。

所有要离职的员工信息都在一个表格中,我们只需要将表格的数据填充到离职证明中即可。

表格信息如下(展示部分数据):

手把手教你用Python操纵Word自动编写离职报告

所需知识

  1. 会使用Pandas读取表格数据
  2. 能够获取表格中的每个单元格数据
  3. 安装了python-docx和docx-mailmerge
  4. 会设置word的邮件合并域
  5. 将word模版与excel进行结合
  6. 保存word文档

案例实现

模版域设

现有离职证明模版,需要提前设置模版的域,操作方式如下(wps为例演示):

  1. 打开模版文件

  2. 选择插入 —-> 域

手把手教你用Python操纵Word自动编写离职报告
  1. 设置邮件合并域

手把手教你用Python操纵Word自动编写离职报告
  1. 注意表格头是于提供的excel的表头名称一致,此时就可以看到模版的姓名位置出现了<

最终结果如下:

手把手教你用Python操纵Word自动编写离职报告

代码实现

import&#xA0;time
from&#xA0;mailmerge&#xA0;import&#xA0;MailMerge
import&#xA0;pandas&#xA0;as&#xA0;pd
#&#xA0;&#x83B7;&#x53D6;excel&#x7684;&#x6570;&#x636E;&#x6587;&#x4EF6;
df=pd.read_excel('employee.xlsx')

df['&#x5165;&#x804C;&#x65E5;&#x671F;']&#xA0;=&#xA0;df['&#x5165;&#x804C;&#x65E5;&#x671F;'].apply(lambda&#xA0;x:&#xA0;x.strftime('%Y&#x5E74;%m&#x6708;%d&#x65E5;'))
df['&#x79BB;&#x804C;&#x65E5;&#x671F;']&#xA0;=&#xA0;df['&#x79BB;&#x804C;&#x65E5;&#x671F;'].apply(lambda&#xA0;x:&#xA0;x.strftime('%Y&#x5E74;%m&#x6708;%d&#x65E5;'))

#&#xA0;&#x83B7;&#x53D6;&#x6A21;&#x7248;&#x6587;&#x4EF6;
document_1&#xA0;=&#xA0;MailMerge('&#x79BB;&#x804C;&#x8BC1;&#x660E;.docx')

#&#xA0;&#x904D;&#x5386;&#x83B7;&#x53D6;&#x6BCF;&#x884C;&#x6570;&#x636E;
for&#xA0;i&#xA0;in&#xA0;range(df.shape[0]):
&#xA0;&#xA0;#&#xA0;&#x5C06;&#x83B7;&#x53D6;&#x7684;&#x6570;&#x636E;&#x8BBE;&#x7F6E;&#x5230;&#x6A21;&#x7248;&#x7684;&#x57DF;&#x4E2D;
&#xA0;&#xA0;&#xA0;&#xA0;document_1.merge(&#x59D3;&#x540D;=df.loc[i]['&#x59D3;&#x540D;'],&#x6027;&#x522B;=df.loc[i]['&#x6027;&#x522B;'],&#xA0;&#x8EAB;&#x4EFD;&#x8BC1;&#x53F7;&#x7801;=str(df.loc[i]['&#x8EAB;&#x4EFD;&#x8BC1;&#x53F7;&#x7801;']),&#xA0;&#x5165;&#x804C;&#x65E5;&#x671F;=df.loc[i]['&#x5165;&#x804C;&#x65E5;&#x671F;'],&#x90E8;&#x95E8;=df.loc[i]['&#x90E8;&#x95E8;'],&#x804C;&#x4F4D;=df.loc[i]['&#x804C;&#x4F4D;'],&#x79BB;&#x804C;&#x65E5;&#x671F;=df.loc[i]['&#x79BB;&#x804C;&#x65E5;&#x671F;'],&#x65F6;&#x95F4;=time.strftime('%Y&#x5E74;%m&#x6708;%d&#x65E5;',))
&#xA0;&#xA0;&#xA0;&#xA0;name&#xA0;=&#xA0;df.loc[i]['&#x59D3;&#x540D;']
&#xA0;&#xA0;&#xA0;&#xA0;document_1.write(f'{name}&#x79BB;&#x804C;&#x8BC1;&#x660E;.docx')

-END-

扫码添加请备注:python,进群与宋老师面对面交流:517745409

手把手教你用Python操纵Word自动编写离职报告

Original: https://blog.csdn.net/qiqi1220/article/details/126529471
Author: 宋宋讲编程
Title: 手把手教你用Python操纵Word自动编写离职报告

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/696097/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球