python批量修改word文件並郵件發送


引言

在工作中,有時需要批量制作很多個內容相似的word文檔,一般通過word郵件合並功能可以實現。今天簡單介紹一下,如何通過python讀取Excel中的數據,批量修改生成word文檔。

批量制作詢價函

假如你是一名負責采購的員工,你們公司需要采購一批物資,你需要向幾家供貨商詢價。詢價函的大概內容如圖1-詢價函,你需要修改“收件人公司名稱”,“聯系人名稱”。


圖1-詢價函

供貨商聯系人名單是xlsx文件,如圖2-聯系方式


圖2-聯系方式

代碼如下:

# -*- coding: utf-8 -*-
from envelopes import Envelope
import xlwings as xw
from docx import Document
import os
# 定義word內容修改函數
def make_file(data):
    # 打開D盤征詢函模版
    document=Document(r'd:\征詢函模版.docx ')
    # 征詢函需要修改的地方,全部以表格形式存在,只需要修改表格中的內容
    tables=document.tables
    tables[0].cell(0,2).text=data[0]
    tables[0].cell(1,2).text=data[1]+'經理'
    tables[1].cell(0,0).text=data[0]+':'
    file_path=os.path.join('D:','征詢函-%s.docx'%data[0])
    document.save(file_path)
# 打開聯系方式.xlsx,並讀取A2以下表格部分的內容,即聯系人信息
app=xw.App(visible=True,add_book=False)
wb=app.books.open(r'd:\聯系方式.xlsx ')
rng=wb.sheets[0].range('A2').expand()
lists=rng.value
wb.close()
# 將讀取的聯系人,傳遞給make_file函數,批量修改生成詢價函
for data in lists:
    make_file(data)

結果如下:


圖3-詢價函

將附件通過郵件發送

# 定義發送郵件的函數
def send_mail(data):
    from_addr='xxx@qq.com'
    to_addr=data[2]
    # 以QQ郵箱為例,密碼需要為smtp服務授權碼
    passwords='xxxxx'
    sever='smtp.qq.com'
    # 主題(subject)與內容(content)
    subject='XXXX'
    text_body='%s經理:\n\n您好!我們川菜館子近期需要向貴公司采購一批香腸和老臘肉,報價相關資料見附件。\n\n祝您工作順利!'%data[1]
    # carbon copy 抄送老板郵箱
    cc_addr='xxxx@qq.com'
    msg=Envelope(to_addr=to_addr,cc_addr=cc_addr,from_addr=from_addr,subject=subject,text_body=text_body)

    # 附件(attachment)
    file_path=os.path.join('D:','征詢函-%s.docx'%data[0])
    msg.add_attachment(file_path)
    msg.send(sever,login=from_addr,password=passwords,tls=True)

將這段代碼整合到上一段制作詢價函的代碼中去,自動化批量制作詢價函並郵件發送的功能就實現了。
結果如下:


圖4-郵件1

圖5-郵件2

圖6-郵件3

由以上面的圖上可知,三封抄送老板並發送給供貨商的郵件已經發送成功了,但是,附件的名字不是詢價函-XXX.docx,這是因為我們的文件名是中文,需要進行特殊的編碼處理,實際上將附件下載下來,后綴改為xxx.docx,一樣可以打開文件。因為在前面對征詢函進行命名的時候,用英文進行命名就好了。

結論

本文主要簡單介紹了,如何利用python讀取Excel文件中的數據,並批量修改生成word文檔。最后,利用envelopes模塊,編寫Email郵件,並將word文檔作為附件發送。

【參考資料】
python郵件處理模塊envelopes
python-docx官方文檔
tcmime.xxxx.xxxx.xxxx.bin這個文件是什么?
MIME type



作者:LuckyFrog
鏈接:http://www.jianshu.com/p/5e85f337b8af
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM