Python數(shù)據(jù)統(tǒng)計導(dǎo)出excel

需求就是統(tǒng)計每天客戶端開機數(shù)據(jù)捶朵,將開機率低于30%的數(shù)據(jù)導(dǎo)出室谚,每天發(fā)送郵件給相關(guān)業(yè)務(wù)人員。

  • 查詢數(shù)據(jù)
  • 整理excel
  • 發(fā)送郵件

一闺骚、數(shù)據(jù)查詢方法(此項可根據(jù)實際業(yè)務(wù)需求更改)

 def getUpRate(project_id):
       val = str(1)
       sql = "select rateNum from tablename where project_id=" + str(project_id)
       cursor.execute(sql)
       rateNum = cursor.fetchone()
       if type(rateNum) != tuple :
               insert_sql = "insert into tablename (project_id,rateNum) values('"+ str(project_id) + "','" + val + "')"
               cursor.execute(insert_sql)
               db.commit()
               return val
       else:
               i = rateNum[0]+1
               update_sql = "update tablename set rateNum="+str(i)+" where project_id=" + str(project_id)
               cursor.execute(update_sql)
               db.commit()
               return i

二梳猪、數(shù)據(jù)生成excel

#create excel
s = 0;
wb = xlwt.Workbook(encoding = 'utf-8')
sh = wb.add_sheet('hotel')
sh.write(0,0,'project_id')
sh.write(0,1,'項目名稱')
sh.write(0,2,'設(shè)備總數(shù)')
sh.write(0,3,'開機數(shù)')
sh.write(0,4,'異常累計天數(shù)')
for project in res:
       s=s+1
       err_num = getUpRate(project[1])
       sh.write(s,0,project[1])
       sh.write(s,1,project[2])
       sh.write(s,2,project[3])
       sh.write(s,3,project[4])
       sh.write(s,4,err_num)
wb.save("example-"+ Yesterday + ".xls")
sendMail()  #發(fā)送郵件方法麻削,下方詳情

三、發(fā)送郵件方法介紹

def sendMail():
        host_server = 'smtp.qq.com' #根據(jù)實際情況寫
        sender_qq = '123@qq.com' #根據(jù)實際情況寫
        pwd = '123@123'  #根據(jù)實際情況寫

        #發(fā)件人的郵箱
        sender_qq_mail = '123@qq.com' #根據(jù)實際情況寫
        #收件人郵箱
        receiver = '456@qq.com'#根據(jù)實際情況寫
        #郵件的正文內(nèi)容
        mail_content = "你好春弥,<p>每日統(tǒng)計項目數(shù)據(jù)呛哟,請查收附件</p>"
        #郵件標(biāo)題
        mail_title = 'xxx數(shù)據(jù)統(tǒng)計'
        #郵件正文內(nèi)容
        msg = MIMEMultipart()
        #msg = MIMEText(mail_content, "plain", 'utf-8')
        msg["Subject"] = Header(mail_title, 'utf-8')
        msg["From"] = sender_qq_mail
        msg["To"] = Header("運維通知郵件組", 'utf-8') ## 接收者的別名
        #郵件正文內(nèi)容
        msg.attach(MIMEText(mail_content, 'html', 'utf-8'))
        # 構(gòu)造附件1,傳送當(dāng)前目錄下的 test.txt 文件
        att1 = MIMEText(open("example-"+Yesterday+".xls", 'rb').read(), 'base64', 'utf-8')
        att1["Content-Type"] = 'application/octet-stream'
        # 這里的filename可以任意寫惕稻,寫什么名字竖共,郵件中顯示什么名字
        att1["Content-Disposition"] = 'attachment; filename="example.xls"'
        msg.attach(att1)
        #ssl登錄
        smtp = SMTP_SSL(host_server)
        #set_debuglevel()是用來調(diào)試的。參數(shù)值為1表示開啟調(diào)試模式俺祠,參數(shù)值為0關(guān)閉調(diào)試模式
        smtp.set_debuglevel(1)
        smtp.ehlo(host_server)
        smtp.login(sender_qq, pwd)
        smtp.sendmail(sender_qq_mail, receiver, msg.as_string())
        smtp.quit()

導(dǎo)出excel如遇到下圖報錯:
1.排查編碼 #coding:utf-8 sys.setdefaultencoding('utf8')
2.寫入第一行數(shù)據(jù)的中文字符公给,或者字符串需要有引號借帘,忽略會報錯。

Traceback (most recent call last):
  File "excel.py", line 19, in <module>
    wb.save('example.xls')
  File "/usr/lib/python2.7/site-packages/xlwt/Workbook.py", line 643, in save
    doc.save(filename, self.get_biff_data())
  File "/usr/lib/python2.7/site-packages/xlwt/Workbook.py", line 618, in get_biff_data
    shared_str_table   = self.__sst_rec()
  File "/usr/lib/python2.7/site-packages/xlwt/Workbook.py", line 580, in __sst_rec
    return self.__sst.get_biff_record()
  File "/usr/lib/python2.7/site-packages/xlwt/BIFFRecords.py", line 77, in get_biff_record
    self._add_to_sst(s)
  File "/usr/lib/python2.7/site-packages/xlwt/BIFFRecords.py", line 92, in _add_to_sst
    u_str = upack2(s, self.encoding)
  File "/usr/lib/python2.7/site-packages/xlwt/UnicodeUtils.py", line 50, in upack2
    us = unicode(s, encoding)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末淌铐,一起剝皮案震驚了整個濱河市肺然,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌腿准,老刑警劉巖际起,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吐葱,居然都是意外死亡街望,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門弟跑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灾前,“玉大人,你說我怎么就攤上這事孟辑“ゼ祝” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵饲嗽,是天一觀的道長炭玫。 經(jīng)常有香客問我,道長貌虾,這世上最難降的妖魔是什么吞加? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮酝惧,結(jié)果婚禮上榴鼎,老公的妹妹穿的比我還像新娘。我一直安慰自己晚唇,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布盗似。 她就那樣靜靜地躺著哩陕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赫舒。 梳的紋絲不亂的頭發(fā)上悍及,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機與錄音接癌,去河邊找鬼心赶。 笑死,一個胖子當(dāng)著我的面吹牛缺猛,可吹牛的內(nèi)容都是我干的缨叫。 我是一名探鬼主播椭符,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼耻姥!你這毒婦竟也來了销钝?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤琐簇,失蹤者是張志新(化名)和其女友劉穎蒸健,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體婉商,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡似忧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了丈秩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盯捌。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖癣籽,靈堂內(nèi)的尸體忽然破棺而出挽唉,到底是詐尸還是另有隱情,我是刑警寧澤筷狼,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布瓶籽,位于F島的核電站,受9級特大地震影響埂材,放射性物質(zhì)發(fā)生泄漏塑顺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一俏险、第九天 我趴在偏房一處隱蔽的房頂上張望严拒。 院中可真熱鬧,春花似錦竖独、人聲如沸裤唠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽种蘸。三九已至,卻和暖如春竞膳,著一層夾襖步出監(jiān)牢的瞬間航瞭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工坦辟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留刊侯,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓锉走,卻偏偏與公主長得像滨彻,于是被迫代替她去往敵國和親藕届。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 女兒出生以后疮绷,老婆一直都是堅持放在我們身邊翰舌,不管多么辛苦,這是她從一名幼兒園老師角度認為必須堅持的冬骚。所以我們見證了...
    揚揚稻籽閱讀 194評論 1 1
  • 回想元旦那一天椅贱,本該是團聚喜慶的日子,我卻那么憋屈想哭只冻。于是躲在房間里庇麦,我哭了半天。 元旦那天包餃子喜德,公公盤腿剛在...
    真冉閱讀 309評論 5 4
  • ——大戰(zhàn)校招十八羅漢終磨一劍 這是一篇失敗者的獨奏曲山橄,是沒念好書就出來斷斤賣的苦逼求職者跪出來的一條路。 寫這篇文...
    VincentLeung閱讀 3,581評論 0 8
  • 如果寫作能為你帶來名聲舍悯,那么如何用名聲幫你更好地創(chuàng)作航棱? 如果技能精進能讓你獲得成功,那么如何用成功讓你更加精進萌衬? ...
    我我悠悠閱讀 276評論 0 0
  • 背景知識 泡菜饮醇,古稱葅,是指為了利于長時間存放而經(jīng)過發(fā)酵的蔬菜秕豫。 我國最早的詩集《詩經(jīng)》中有“中田有廬朴艰,疆場有瓜是...
    姜地主閱讀 1,111評論 1 4