【背景】創業小公司的行政mm負責公司所有人的薪資情況,想給大家每個月發一下工資條,又沒有有效的工具,有一天突然問我會寫**嗎?作為測試工程師,基本上很少接觸這些內容,正好這段時間有點空閒,也在學習python,那就搞起吧
【問題分析】
選定python指令碼語言,是為了更好的了解自動化測試,按照需求,需實現小功能和對問題深入理解的過程記錄一下
(1)原始檔案儲存
起初想讀取csv檔案,因為有現成的csv庫供使用,如果採用csv檔案,只能把每項資料都出來,以檔案內容的形式放到郵件裡展示。這裡有乙個問題,其實也是困擾我好幾天,如何在郵件中寫漢字,這個在後面介紹一下。
(2)郵件內容展示:
對郵件內容展示有三種設想
第一種:(以文字的形式展示)
親愛的***:
本月工資如下:
總工資=***
交稅=***
實發工資=***
第二種:(以**的形式展示)
工號姓名
郵箱身份證
工資月份
工資數量
100張1
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 替換對原始列表的引用,並引用您指定的列表值.建立的任何新例項仍將引用原始列表,這就...