在看辦公自動化之前,我們來看一下百度百科給出的定義:
辦公自動化(Office Automation,簡稱OA)是將現(xiàn)代化辦公和計算機(jī)技術(shù)結(jié)合起來的一種新型的辦公方式。辦公自動化沒有統(tǒng)一的定義,凡是在傳統(tǒng)的辦公室中采用各種新技術(shù)、新機(jī)器、新設(shè)備從事辦公業(yè)務(wù),都屬于辦公自動化的領(lǐng)域。 通過實現(xiàn)辦公自動化,或者說實現(xiàn)數(shù)字化辦公,可以優(yōu)化現(xiàn)有的管理組織結(jié)構(gòu),調(diào)整管理體制,在提高效率的基礎(chǔ)上,增加協(xié)同辦公能力,強(qiáng)化決策的一致性 。
而我們Python進(jìn)行辦公自動化又需要學(xué)習(xí)什么樣的知識呢?
或許這是很多非 IT 職場人士面臨的困惑,想把 python 用到工作中,卻不知如何下手? python 在自動化辦公領(lǐng)域越來越受歡迎,批量處理簡直是加班族的福音。
大家注意啊批量處理!!!,如果你只有幾份文件那用不用Python也無所謂,但是如果量比較大Python進(jìn)行辦公自動化可就是各位的福音啦!
其實所謂的自動化辦公無非是 excel、ppt、word、郵件、文件處理、數(shù)據(jù)分析處理等。
本篇文章主要給大家介紹word自動化的操作和案例。
模塊安裝
Windows用戶打開命令行輸入:pip install python-docx docx-mailmerge
Mac用戶打開終端/Terminal輸入:pip3 install python-docx docx-mailmerge
如果無法安裝,可以轉(zhuǎn)換為國內(nèi)清華鏡像源(當(dāng)然其他的也沒有問題了),Windows系統(tǒng)操作如下,在cmd模式下輸入
pip install python-docx docx-mailmerge -i https://pypi.tuna.tsinghua.edu.cn/simple
導(dǎo)入模塊:
import docx
from mailmerge import MailMerge
案例說明
近年由于疫情關(guān)系,部分公司壓力山大,不得不裁員或者加班。這不又有10位員工離職了。而在人力那里不僅要辦一些離職的交接工作,還需要給這些離職的員工開具離職證明!
首先看一下離職證明的模版樣式
如果人力資源的妹妹們,一個一個的填寫太麻煩了。這個也是相當(dāng)費時間的。如果哦一不小心寫錯了還要重來。
那如何快速的生成多份證明呢?這不辦公自動化輕松幫人力朋友搞定。
所有要離職的員工信息都在一個表格中,我們只需要將表格的數(shù)據(jù)填充到離職證明中即可。表格信息如下(展示部分?jǐn)?shù)據(jù)):
所需知識
會使用Pandas讀取表格數(shù)據(jù)
能夠獲取表格中的每個單元格數(shù)據(jù)
安裝了python-docx和docx-mailmerge
會設(shè)置word的郵件合并域
將word模版與excel進(jìn)行結(jié)合
保存word文檔
案例實現(xiàn)
模版域設(shè)置
現(xiàn)有離職證明模版,需要提前設(shè)置模版的域,操作方式如下(wps為例演示):
打開模版文件
選擇插入 ----> 域
設(shè)置郵件合并域
注意表格頭是于提供的excel的表頭名稱一致,此時就可以看到模版的姓名位置出現(xiàn)了<<姓名>>說明完成。后面按照此操作依次添加即可。最終結(jié)果如下:
代碼實現(xiàn)
import time
from mailmerge import MailMerge
import pandas as pd
# 獲取excel的數(shù)據(jù)文件
df=pd.read_excel('employee.xlsx')
df['入職日期'] = df['入職日期'].apply(lambda x: x.strftime('%Y年%m月%d日'))
df['離職日期'] = df['離職日期'].apply(lambda x: x.strftime('%Y年%m月%d日'))
# 獲取模版文件
document_1 = MailMerge('離職證明.docx')
# 遍歷獲取每行數(shù)據(jù)
for i in range(df.shape[0]):
# 將獲取的數(shù)據(jù)設(shè)置到模版的域中
document_1.merge(姓名=df.loc[i]['姓名'],性別=df.loc[i]['性別'], 身份證號碼=str(df.loc[i]['身份證號碼']), 入職日期=df.iloc[i]['入職日期'],部門=df.iloc[i]['部門'],職位=df.loc[i]['職位'],離職日期=df.loc[i]['離職日期'],時間=time.strftime('%Y年%m月%d日',))
name = df.loc[i]['姓名']
document_1.write(f'{name}離職證明.docx')