python開發微信小程序,python發微信工資條_幫公司財務妹子寫了個“群發工資條”的Python腳本!

 2023-10-06 阅读 31 评论 0

摘要:hi,大家好,我是朱小五python開發微信小程序,兩周前我發了一篇辦公自動化的文章,本來決定最近這個月就不發同類型的了。 結果正如你們所見: 微信怎么查工資條、因為這真的是一個很好的Python自動化的案例!!!所以即使打臉也要

hi,大家好,我是朱小五

python開發微信小程序,兩周前我發了一篇辦公自動化的文章,本來決定最近這個月就不發同類型的了。

結果正如你們所見:

微信怎么查工資條、因為這真的是一個很好的Python自動化的案例!!!

所以即使打臉也要推薦給大家!!!

對于小公司,采用手動方式一個個發送郵件還是可以的。如果一個上百號,上千號,或者更大規模的公司,我們再一個個發送工資條郵件,就太浪費時間了。

鑒于此,我寫了一個這樣的程序,實現Python自動化群發工資條的功能。

原始數據源如下:

最終效果如下:

看到這里,你肯定也覺得很好玩兒吧?那么這樣一個自動化程序,應該怎么做呢?接著往下看。

流程分析

其實這樣一個代碼,總結下來,就只有如下5步:① 導入相關模塊;② 讀取Excel表格;③ 登錄郵箱;④ 準備要發送的郵件正文;⑤ 發送郵件;

1)導入相關模塊

from?openpyxl?import?load_workbook????#?用于操作Excel的模塊

import?yagmail???#?用于存儲郵箱地址和密碼的模塊

import?keyring???#?用于記錄你郵箱地址和密碼的模塊

from?datetime?import?*???#?用于獲取當前系統時間的模塊

2)讀取Excel表格

#?加載Excel文件

wb?=?load_workbook("群發工資條.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}月")

結果如下:

3)登錄郵箱

yagmail.register("1127421544@qq.com","flmyucvntuvbjbcb")

pwd?=?keyring.get_password("yagmail","1127421544@qq.com")

yag?=?yagmail.SMTP(user="1127421544@qq.com",host="smtp.qq.com",password=pwd)

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

4)準備要發送的正文

由于發送的正文里面,需要我們發送一個帶表格的郵件,這就需要我們了解一點前端知識。因此,我在最后面花一個章節為大家講解。

5)發送郵件

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

上述代碼共有3個參數:第一個參數是收件人的郵箱;第二個參數是郵件的標題;第三個參數是發送的內容。

關于html代碼的特別說明

會用Python發送郵件的人都知道,郵件正文內容可以寫html代碼。你可能覺得自己啥也不會,但是不用擔心,我們不需要學習太高深的前端代碼,做過爬蟲的人耳濡目染,都能夠看懂一些。

1)自己寫一個簡單的前端代碼

我們可以直接用Pycharm創建一個新的html文件,里面會顯示初始的前端代碼,我們進行簡單的添加,就可以獲得一個表格啦!

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

從上圖中根本看不出這是一個表格,那是因為我們沒有為它設置一個樣式,下面要做的就是為這個表格設置樣式。

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

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

從上圖可以看出,整個前端代碼就是用一些列的標簽組成,同時標簽都是成對出現的。因此,在Python中寫前端代碼時,只需要在對應位置添加對應的標簽即可。

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)

結果如下:

完整代碼

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

本文源碼下載鏈接:

https://alltodata.cowtransfer.com/s/1821d6a2128344

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/121221.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息