1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        我?guī)凸矩?cái)務(wù)寫(xiě)了個(gè)“群發(fā)工資條”的Python腳本!

        共 2288字,需瀏覽 5分鐘

         ·

        2020-08-14 10:18

        作者 |?黃偉呢
        來(lái)源 |?數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美

        1.本文介紹

        這是一個(gè)很好的Python自動(dòng)化的案例。對(duì)于小公司,采用手動(dòng)方式一個(gè)個(gè)發(fā)送郵件還是可以的。如果一個(gè)上百號(hào),上千號(hào),或者更大規(guī)模的公司,我們?cè)僖粋€(gè)個(gè)發(fā)送工資條郵件,就太浪費(fèi)時(shí)間了。鑒于此,我寫(xiě)了一個(gè)這樣的程序,實(shí)現(xiàn)Python自動(dòng)化群發(fā)工資條的功能。

        原始數(shù)據(jù)源如下:

        最終效果如下:

        看到這里,你肯定也覺(jué)得很好玩兒吧?那么這樣一個(gè)自動(dòng)化程序,應(yīng)該怎么做呢?接著往下看。

        2.流程分析

        其實(shí)這樣一個(gè)代碼,總結(jié)下來(lái),就只有如下5步:
        ① 導(dǎo)入相關(guān)模塊;
        ② 讀取Excel表格;
        ③ 登錄郵箱;
        ④ 準(zhǔn)備要發(fā)送的郵件正文;
        ⑤ 發(fā)送郵件;

        1)導(dǎo)入相關(guān)模塊

        from?openpyxl?import?load_workbook????#?用于操作Excel的模塊
        import?yagmail???#?用于存儲(chǔ)郵箱地址和密碼的模塊
        import?keyring???#?用于記錄你郵箱地址和密碼的模塊
        from?datetime?import?*???#?用于獲取當(dāng)前系統(tǒng)時(shí)間的模塊

        2)讀取Excel表格

        #?加載Excel文件
        wb?=?load_workbook("群發(fā)工資條.xlsx",data_only=True)
        sheet?=?wb.active
        print(sheet)
        -------------------------------------------------------
        for?row?in?sheet:
        ????row_text?=?""
        ????for?cell?in?row:
        ????????if?cell.column?==?"B":
        ????????????continue
        ????????row_text?+=?f"{cell.value},"
        ????print(row_text)
        ------------------------------------------------------
        print("年:",?date.today().year)
        print("月:",?date.today().month)
        print(f"{date.today().year}-{date.today().month}月")

        結(jié)果如下:

        3)登錄郵箱

        yagmail.register("[email protected]","flmyucvntuvbjbcb")
        pwd?=?keyring.get_password("yagmail","[email protected]")
        yag?=?yagmail.SMTP(user="[email protected]",host="smtp.qq.com",password=pwd)

        需要注意的是:第一行代碼是用于存儲(chǔ)你的郵件地址和密碼。第二行代碼使用keyring是為了記錄你的郵件地址和密碼。第三行代碼直接登錄郵箱。

        關(guān)于Python怎么發(fā)送郵件,我之前寫(xiě)了一篇文章,進(jìn)行了詳細(xì)的介紹,下方是這篇文章的鏈接,大家可以參考。

        Python發(fā)郵件:http://suo.im/60ylZ1

        4)準(zhǔn)備要發(fā)送的正文

        由于發(fā)送的正文里面,需要我們發(fā)送一個(gè)帶表格的郵件,這就有必要我們了解一點(diǎn)前端知識(shí)。因此,我在最后面花一個(gè)章節(jié)為大家講解。

        5)發(fā)送郵件

        yag.send(f"{email}",f"數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美有限公司{date.today().year}-{date.today().month}月工資情況",contents)

        上述代碼共有3個(gè)參數(shù):第一個(gè)參數(shù)是收件人的郵箱;第二個(gè)參數(shù)是郵件的標(biāo)題;第三個(gè)參數(shù)是發(fā)送的內(nèi)容。

        3.關(guān)于html代碼的特別說(shuō)明

        會(huì)用Python發(fā)送郵件的人都知道,郵件正文內(nèi)容可以寫(xiě)html代碼。你可能覺(jué)得自己啥也不會(huì),但是不用擔(dān)心,我們不需要學(xué)習(xí)太高深的前端代碼,做過(guò)爬蟲(chóng)的人耳濡目染,都能夠看懂一些。

        1)自己寫(xiě)一個(gè)簡(jiǎn)單的前端代碼

        我們可以直接用Pycharm創(chuàng)建一個(gè)新的html文件,里面會(huì)顯示初始的前端代碼,我們進(jìn)行簡(jiǎn)單的添加,就可以獲得一個(gè)表格啦!

        最終在瀏覽器中顯示效果如下:

        從上圖中根本看不出這是一個(gè)表格,那是因?yàn)槲覀儧](méi)有為它設(shè)置一個(gè)樣式,下面要做的就是為表格設(shè)置樣式。

        最終在瀏覽器中顯示效果如下:

        2)在Python中怎么寫(xiě)前端代碼

        從上圖可以看出,整個(gè)前端代碼就是用一些列的標(biāo)簽組成,同時(shí)標(biāo)簽都是成對(duì)出現(xiàn)的。因此,在Python中寫(xiě)前端代碼時(shí),只需要在對(duì)應(yīng)位置添加對(duì)應(yīng)的標(biāo)簽即可。

        for?row?in?sheet:
        ????row_text?=?""
        ????for?cell?in?row:
        ????????if?cell.column?==?"B":
        ????????????continue
        ????????row_text?+=?f"{cell.value}"
        ????row_text?+=?""
        ????print("\n")
        ????print(row_text)

        結(jié)果如下:

        4.完整代碼

        為了文章的完整性,我在文章最后放上我的代碼。但是限于文章篇幅,最后我只粘貼一張圖片,詳細(xì)代碼,大家可以去文末獲取


        源碼鏈接:https://pan.baidu.com/s/1oE18u7deeztHCGPIApaVkA??取碼:3wd1

        瀏覽 29
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久熟女少妇 | 久久无精品国产99久久果冻传媒 | 国产69成人精品视频免费APP | 女人自慰网站 | 色婷网 | 久久综合五月天婷婷丁香 | 无码AV大香线蕉伊人少妇 | 天天插天天射久久 | 狠狠色网站 | 国产精品―色哟呦 |