乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      python批量修改word文件并郵件發(fā)送

       北方的白樺林 2019-12-15

      引言

      在工作中,有時(shí)需要批量制作很多個(gè)內(nèi)容相似的word文檔,一般通過(guò)word郵件合并功能可以實(shí)現(xiàn)。今天簡(jiǎn)單介紹一下,如何通過(guò)python讀取Excel中的數(shù)據(jù),批量修改生成word文檔。

      批量制作詢(xún)價(jià)函

      假如你是一名負(fù)責(zé)采購(gòu)的員工,你們公司需要采購(gòu)一批物資,你需要向幾家供貨商詢(xún)價(jià)。詢(xún)價(jià)函的大概內(nèi)容如圖1-詢(xún)價(jià)函,你需要修改“收件人公司名稱(chēng)”,“聯(lián)系人名稱(chēng)”。

      圖1-詢(xún)價(jià)函

      供貨商聯(lián)系人名單是xlsx文件,如圖2-聯(lián)系方式

      圖2-聯(lián)系方式

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

      圖3-詢(xún)價(jià)函

      將附件通過(guò)郵件發(fā)送

      # 定義發(fā)送郵件的函數(shù)
      def send_mail(data):
          from_addr='xxx@qq.com'
          to_addr=data[2]
          # 以QQ郵箱為例,密碼需要為smtp服務(wù)授權(quán)碼
          passwords='xxxxx'
          sever='smtp.qq.com'
          # 主題(subject)與內(nèi)容(content)
          subject='XXXX'
          text_body='%s經(jīng)理:\n\n您好!我們川菜館子近期需要向貴公司采購(gòu)一批香腸和老臘肉,報(bào)價(jià)相關(guān)資料見(jià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:','征詢(xún)函-%s.docx'%data[0])
          msg.add_attachment(file_path)
          msg.send(sever,login=from_addr,password=passwords,tls=True)
      

      將這段代碼整合到上一段制作詢(xún)價(jià)函的代碼中去,自動(dòng)化批量制作詢(xún)價(jià)函并郵件發(fā)送的功能就實(shí)現(xiàn)了。
      結(jié)果如下:

      圖4-郵件1
      圖5-郵件2
      圖6-郵件3

      由以上面的圖上可知,三封抄送老板并發(fā)送給供貨商的郵件已經(jīng)發(fā)送成功了,但是,附件的名字不是詢(xún)價(jià)函-XXX.docx,這是因?yàn)槲覀兊奈募侵形?,需要進(jìn)行特殊的編碼處理,實(shí)際上將附件下載下來(lái),后綴改為xxx.docx,一樣可以打開(kāi)文件。因?yàn)樵谇懊鎸?duì)征詢(xún)函進(jìn)行命名的時(shí)候,用英文進(jìn)行命名就好了。

      結(jié)論

      本文主要簡(jiǎn)單介紹了,如何利用python讀取Excel文件中的數(shù)據(jù),并批量修改生成word文檔。最后,利用envelopes模塊,編寫(xiě)Email郵件,并將word文檔作為附件發(fā)送。

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

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多