用python實現給全公司發放工資條

2021-07-25 06:00:02 字數 1004 閱讀 2606

【背景】創業小公司的行政mm負責公司所有人的薪資情況,想給大家每個月發一下工資條,又沒有有效的工具,有一天突然問我會寫**嗎?作為測試工程師,基本上很少接觸這些內容,正好這段時間有點空閒,也在學習python,那就搞起吧

【問題分析】

選定python指令碼語言,是為了更好的了解自動化測試,按照需求,需實現小功能和對問題深入理解的過程記錄一下

(1)原始檔案儲存

起初想讀取csv檔案,因為有現成的csv庫供使用,如果採用csv檔案,只能把每項資料都出來,以檔案內容的形式放到郵件裡展示。這裡有乙個問題,其實也是困擾我好幾天,如何在郵件中寫漢字,這個在後面介紹一下。

(2)郵件內容展示:

對郵件內容展示有三種設想

第一種:(以文字的形式展示)

親愛的***:

本月工資如下:

總工資=***

交稅=***

實發工資=***

第二種:(以**的形式展示)

工號姓名

郵箱身份證

工資月份

工資數量

100張1

[email protected]

121232323232

2016-06

30000

第三種:(以文字和附件的形式展示)

親愛的***:

請檢視附件檔案***

解決問題的思路

首先,先把原始檔案放到csv檔案裡面

從裡面讀取

選用第一種郵件展示方式,傳送普通文字,傳送普通文字的方法參照郵件,這個比較容易實現

後來覺得不好,咱們來點高階的,選用第二種把,可是python中間可以插入html繪製的**,但**中的內容如何填寫就費了很大勁,

那咱們就用第三種展現方式,主要設計到python對excel檔案的讀取和寫入,python都提供了專門的庫去使用,把原始檔案的資料提取出來,對每個員工建立乙個excel檔案,然後傳送附件

傳送郵件的幾種方法在之前的博文中已經實現,控制excel的博文也已經有了,結合起來就好啦,下面看看**是什麼樣的把:

Python實現企業發放獎金總數

企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可提成3 60萬到100萬之間時,...

python實現全排列

有1,2,3,4這4個數字,能組成多少個互不相同且無重複數字的三位數,下面是二種解決示例,需要的朋友可以參考下 第一種方法 遞迴 複製 如下 def perms elements if len elements 1 yield elements else for perm in perms elem...

python 共享資料 用Python共享全域性資料

a在globaldatabase的宣告中分配了乙個列表.globaldatabase的每個例項都以對同一列表的引用開始,我們將其稱為 原始 列表.當您在第乙個示例中執行self.a value時,為該例項或 self 替換對原始列表的引用,並引用您指定的列表值.建立的任何新例項仍將引用原始列表,這就...