python實現(xiàn)自動化辦公郵件合并功能
經(jīng)常使用word辦公的小伙伴們經(jīng)常會遇到郵件合并的任務(wù),通常會將數(shù)量有限的表格中的信息通過word的郵件合并功能,自動生成word文檔,操作熟練的技術(shù)員通常不到十分鐘就可以合并幾十份郵件。那么如果遇到成千上萬份的郵件需要合并并且需要各自生成文件呢?一個excel大佬也需要很長時間吧!既然我們很難在excel上追上大佬的腳步,何不另辟蹊徑,找一條更適合自己的方法呢?
我是一年多前接觸到python自動化辦公的,通過進一步的學(xué)習(xí),發(fā)現(xiàn)平時我們的辦公效率可以通過使用python的自動化辦公方法從而進一步提升,而且這種提升是很容易就可以實現(xiàn)的。如果你花了不到一個月的時間學(xué)習(xí)了簡單的自動化辦公技巧,那么我可以想象得到,某一天會真實發(fā)生的一種情景:在公司做報表的那一天,其他同事都在慌里慌張的敲打著鍵盤,到了下班點之后,他們不僅沒有回家感受家的溫暖,還要遭受老板的冷眼,任務(wù)沒有完成是不能回家的,即使有多晚。那么這個時候,你早已經(jīng)保質(zhì)保量的完成了所有任務(wù),在其它同事手忙腳亂的時候,你在悠閑的喝著咖啡,沐浴在領(lǐng)導(dǎo)今天對你的贊美之中,默默感嘆,生活如此多嬌,下班后去干嘛呢?,
下面隨我一起走進python自動化辦公的第一站:郵件合并。
如果word模板文件長這個樣子(為了演示自動化辦公效果,邀請函是隨意寫的):
當然,對于到進行郵件合并的位置,我們同樣和word郵件合并一樣,需要添加域。
邀請函有了,那么表格哪里找呢!對于初學(xué)者來說,對于這種實例性很強的項目,沒有數(shù)據(jù),可以宣布50%已經(jīng)放棄了。那么,在以后的學(xué)習(xí)過程中,沒有數(shù)據(jù),當然我們要自己創(chuàng)造數(shù)據(jù)。如下代碼所示,我們可以創(chuàng)建有name、mail、date的csv文件來,并且實現(xiàn)郵件合并的功能。
import pandas as pd import numpy as np import random import csv from mailmerge import MailMerge #生成姓名 def create_fname_data(): word_select = [] for i in range(97, 123): word_select.append(chr(i)) print(word_select) name_select = [] for i in range(6): name = '' for i in range(5): name += random.choice(word_select) name+=' ' for i in range(5): name += random.choice(word_select) name_select.append(name.title()) print(name_select) return name_select #生成郵箱 def create_mail(): word_select=[str(i) for i in range(9)] all_number_select=[] for i in range(6): number_select='' for i in range(10): number_select+=random.choice(word_select) endwith=['@163.com','@qq.com','@icloud.com'] number_select+=random.choice(endwith) all_number_select.append(number_select) return all_number_select #創(chuàng)建csv文件 def add_csv(): df=pd.DataFrame( { 'name':pd.Series(create_fname_data()), 'date':pd.Series(pd.date_range('20210101',periods=6)), "mail":pd.Series(create_mail()), } ) print(df) df.to_csv('./data/random_data.csv') if __name__ == '__main__': add_csv() with open('./data/random_data.csv',encoding='utf-8') as f:#郵件合并數(shù)據(jù)目錄位置 reader=csv.reader(f) next(reader) for index,name,date,mail in reader: doc=MailMerge('./data/test1.docx')#模板文件目錄 print(name,mail,date) doc.merge(name=name,mail=mail,date=date)#郵件合并 doc.write(f'./data/{name}.docx')#寫入文件
下圖是自動生成的word文檔。
簡簡單單的幾行代碼就可以完成郵件合并功能,如果有幾千份數(shù)據(jù)源,當然,稍微修改下代碼,就可以在幾秒鐘完成郵件合并,豈不樂哉?
到此這篇關(guān)于python實現(xiàn)自動化辦公郵件合并功能的文章就介紹到這了,更多相關(guān)python郵件合并內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中opencv圖像疊加、圖像融合、按位操作的具體實現(xiàn)
opencv圖像操作可以更好更快的方便我們處理圖片,本文主要介紹了圖像疊加、圖像融合、按位操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07Python學(xué)習(xí)筆記之迭代器和生成器用法實例詳解
這篇文章主要介紹了Python學(xué)習(xí)筆記之迭代器和生成器用法,結(jié)合實例形式詳細分析了Python迭代器與生成器的功能、原理、定義及使用方法,需要的朋友可以參考下2019-08-08Python 如何操作 SQLite 數(shù)據(jù)庫
這篇文章主要介紹了Python 如何操作 SQLite 數(shù)據(jù)庫,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-08-08將.ipynb文件轉(zhuǎn)換成.py文件詳細步驟(一看就會)
這篇文章主要給大家介紹了關(guān)于如何將.ipynb文件轉(zhuǎn)換成.py文件的詳細步驟,文中通過圖文介紹的非常詳細,大家基本一看就會,需要的朋友可以參考下2023-07-07