老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

如何用Python自動生成報表以郵件發送

如何用Python自動生成報表以郵件發送,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

創新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于做網站、成都網站制作、文縣網絡推廣、微信小程序、文縣網絡營銷、文縣企業策劃、文縣品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創新互聯為所有大學生創業者提供文縣建站搭建服務,24小時服務熱線:13518219792,官方網址:www.cdcxhl.com

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

首先來介紹下實現自動報表要使用到的Python庫:

  • pyMySQL 一個可以連接MySQL實例并且實現增刪改查功能的庫

  • datetime Python標準庫中自帶的關于時間的庫

  • openpyxl 一個可以讀寫07版以后的Excel文檔(.xlsx格式也支持)的庫

  • smtplib SMTP即簡單郵件傳輸協議,Python簡單封裝成了一個庫

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

為什么使用openpyxl庫來處理Excel呢?因為它支持每個sheet的行數為100W+,也是支持xlsx格式的文件。如果你接受xls文件,并且每個sheet的行數小于6W,也是可以使用xlwt庫,它對大文件的讀取速度要大于openpyxl。

接下來我們就進入實戰部分,來正式實現這個過程。我把整個實現過程分成幾個函數的方式來實現,這樣看著會比較有結構感。

一、首先導入所有要用到的庫

# encoding=utf-8 import pymysql as pms import openpyxl import datetime from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header import smtplib

二、 編寫一個傳入sql就返回數據的函數get_datas(sql)

def get_datas(sql):  # 一個傳入sql導出數據的函數  # 跟數據庫建立連接  conn = pms.connect(host='實例地址', user='用戶',  passwd='密碼', database='庫名', port=3306, charset="utf8")  # 使用 cursor() 方法創建一個游標對象 cursor  cur = conn.cursor()  # 使用 execute() 方法執行 SQL  cur.execute(sql)  # 獲取所需要的數據  datas = cur.fetchall()  #關閉連接  cur.close()  #返回所需的數據  return datas

三、 編寫一個傳入sql就返回數據的字段名稱的函數get_datas(sql),因為一個函數只能返回一個值,這邊就用2個函數來分別返回數據和字段名稱(也就是excel里的表頭)

def get_fields(sql):  # 一個傳入sql導出字段的函數  conn = pms.connect(host='rm-rj91p2yhl9dm2xmbixo.mysql.rds.aliyuncs.com', user='bi-analyzer',  passwd='pcNzcKPnn', database='kikuu', port=3306, charset="utf8")  cur = conn.cursor()  cur.execute(sql)  # 獲取所需要的字段名稱  fields = cur.description  cur.close()  return fields

四、 編寫一個傳入數據、字段名稱、存儲地址返回一個excel 的函數et_excel(data, field, file)

def get_excel(data, field, file):  # 將數據和字段名寫入excel的函數  #新建一個工作薄對象  new = openpyxl.Workbook()  #激活一個新的sheet  sheet = new.active  #給sheet命名  sheet.title = '數據展示'  #將字段名稱循環寫入excel***行,因為字段格式列表里包含列表,每個列表的***元素才是字段名稱  for col in range(len(field)):  #row代表行數,column代表列數,value代表單元格輸入的值,行數和列數都是從1開始,這點于python不同要注意  _ = sheet.cell(row=1, column=col+1, value=u'%s' % field[col][0])  #將數據循環寫入excel的每個單元格中   for row in range(len(data)):  for col in range(len(field)):  #因為***行寫了字段名稱,所以要從第二行開始寫入  _ = sheet.cell(row=row+2, column=col + 1, value=u'%s' % data[row][col])  #將生成的excel保存,這步是必不可少的  newworkbook = new.save(file)  #返回生成的excel  return newworkbook

五、 編寫一個自動獲取昨天日期字符串格式的函數getYesterday()

def getYesterday():  # 獲取昨天日期的字符串格式的函數  #獲取今天的日期  today = datetime.date.today()  #獲取一天的日期格式數據  oneday = datetime.timedelta(days=1)  #昨天等于今天減去一天  yesterday = today - oneday  #獲取昨天日期的格式化字符串  yesterdaystr = yesterday.strftime('%Y-%m-%d')  #返回昨天的字符串  return yesterdaystr

六、編寫一個生成郵件的函數create_email(email_from, email_to, email_Subject, email_text, annex_path, annex_name)

def create_email(email_from, email_to, email_Subject, email_text, annex_path, annex_name):  # 輸入發件人昵稱、收件人昵稱、主題,正文,附件地址,附件名稱生成一封郵件  #生成一個空的帶附件的郵件實例  message = MIMEMultipart()  #將正文以text的形式插入郵件中  message.attach(MIMEText(email_text, 'plain', 'utf-8'))  #生成發件人名稱(這個跟發送的郵件沒有關系)  message['From'] = Header(email_from, 'utf-8')  #生成收件人名稱(這個跟接收的郵件也沒有關系)  message['To'] = Header(email_to, 'utf-8')  #生成郵件主題  message['Subject'] = Header(email_Subject, 'utf-8')  #讀取附件的內容  att1 = MIMEText(open(annex_path, 'rb').read(), 'base64', 'utf-8')  att1["Content-Type"] = 'application/octet-stream'  #生成附件的名稱  att1["Content-Disposition"] = 'attachment; filename=' + annex_name  #將附件內容插入郵件中  message.attach(att1)  #返回郵件  return message

七、 生成一個發送郵件的函數send_email(sender, password, receiver, msg)

def send_email(sender, password, receiver, msg):  # 一個輸入郵箱、密碼、收件人、郵件內容發送郵件的函數  try:  #找到你的發送郵箱的

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯的支持。


本文題目:如何用Python自動生成報表以郵件發送
本文網址:
http://www.xueling.net.cn/article/ieijdg.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 日本三级日本三级日本三级极 | 业余自由性别成熟偷窥 | 男人添女人下部高潮视频 | 粗大的内捧猛烈进出欧美 | 浮生影院免费观看中文版 | WWW激情内射在线看 亚洲人成网7777777国产 | 国产精品九九久久久久久久 | JAPANESE国产中文在线观看 | 黄色免费直接看 | 欧美日韩一区在线播放 | 18禁裸体动漫美女无遮挡网站 | 成在人线av无码免费高潮水 | 亚洲爆乳精品无码一区二区 | 欧美精品一区二区三区视频 | 国产一区精品二区 | 67194成人在线 | 免费观看欧美猛交视频黑人 | 国产视频黄 | 四虎网站在线免费观看 | 69久久夜色精品国产69乱 | 午夜自产精品一区二区三区 | 亚洲国产精品隔壁老王 | 999ZYZ玖玖资源站在线观看 | 亚洲综合精品在线 | 亚洲午夜一级毛片 | 韩国三级丰满少妇高潮 | 国产在线观看免费人成视频 | 麻豆午夜影院 | 豪放女大兵免费看 | 日本护士毛茸茸高潮 | 国产精品久久久久久久久污网站 | 韩国精品久久久 | 久草资源视频 | 天堂色网 | 久久高清超碰AV热热久久 | 国产内射在线激情一区 | 欧美日韩精品一区二区三区视频 | 欧美精品国产制服第一页 | 国产精品美女视频网站 | 国产jizz18高清视频 | 国产精久久久久 |