當前位置:
首頁 > 最新 > 還在做重複的勞動,不如用Python自動生成Excel以郵件發送

還在做重複的勞動,不如用Python自動生成Excel以郵件發送

數據分析師小王每天都要被各種各樣的數據數據報表搞得焦頭爛額,比如老闆的,運營的、產品的等等。而且大部分報表都是重複性的工作。這篇文章就是幫助大家如何用Python來實現報表的自動發送,解放你的勞動力,可以讓你有時間去做更有意思的事情。

要點:

·pymysql一個可以連接MySQL實例並且實現增刪改查功能的庫

·datetimePython標準庫中自帶的關於時間的庫

·openpyxl一個可以讀寫07版以後的Excel文檔的庫

·smtplibSMTP即簡單郵件傳輸協議

·email一個用來處理郵件消息的庫

01.

準備工作,導入相應的庫

數據分析師日常大部分工作需要熟練掌握SQL和excel打交道,而且很多數據都帶日期。所以我們需要導入下面這些模塊:

pymysql,openxl,datatime,當然還有自動發郵件的email和smtplib模塊。

(代碼可以左右滑動)

02.

連接SQL

現在主流的資料庫有兩大類,SQL和NoSQL,雖然Mongodb非常靈活和簡單,但是大部分公司的資料庫還是用Mysql比較多的!所以我們需要掌握一些基本的python操作資料庫的知識!

1).執行一條sql,獲取數據

(代碼可以左右滑動)

2).執行sql,獲取欄位數據

(代碼可以左右滑動)

03.

數據寫入Excel

用Python操作excel其實非常簡單,前面我們的入門教程里有詳細的講解(關於Excel表格如何處理|這篇最用心)。用openpyxl建一個excel對象,然後建一個sheet,接著一個循環把一個一個單元格寫數據即可!

(代碼可以左右滑動)

04.

處理日期數據

大部分的數據都是需要時間戳的,用Python操作時間可以用time,datatime這樣的模塊。裡面有大量非常方便的函數。詳見我的歷史文章(都說Python時間處理很好玩還簡單,真的嗎)

05.

生成郵件

經過前面的幾個步驟,我們的準備工作差不多了!該重頭戲自動發送郵件出場了,編寫一個發送郵件,無非這麼幾步:

1).編寫郵件內容

(代碼可以左右滑動)

用email模塊生成郵件的標題,內容,發件人和收件人。如果有附件的話,我們插入附件的文件。

2).發送郵件

準備好郵件的內容之後,我們用smtp模塊鏈接上伺服器,填入用戶名和密碼。當然一定要有異常處理,所以涉及到伺服器的處理,都需要有異常處理!

(代碼可以左右滑動)

06.大功告成,看一下效果

忙活了半天,總於可以看一下運行的效果了!輸入一條sql查詢語句,然後初始化一些郵件的標題,然後填入一堆運營部門,產品部門的郵件地址。然後倒杯咖啡,漂亮的按一下回車,欣賞自己的勞動成果!

(代碼可以左右滑動)

看一下效果:

用Python寫自動化的小腳本小工具其實非常方便,快捷!比如今天的自動發郵件腳本,還有前面的量化交易提醒工具(熬了一晚上,小白用Python寫了一個股票提醒系統),都是通過郵件來發送的,對菜鳥來說可以練習,增強功力!

說千遍道萬遍,不如自己敲一遍,你覺得呢,歡迎留言討論

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

Python這麼強大,怎樣快速學習?
想做Python開發,這14種常用Python模塊,你必須知道!

TAG:Python |