qq自动发消息脚本 如何用Python来实现报表的自动发送

11/28 03:16:30 来源网站:268辅助卡盟网

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

(代码可以左右滑动)

04.

处理日期数据

大部分的数据都是需要时间戳的,用Python操作时间可以用time,datatime这样的模块。里面有大量非常方便的函数。详见我的历史文章()

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

05.

生成邮件

经过前面的几个步骤,我们的准备工作差不多了!该重头戏自动发送邮件出场了qq自动发消息脚本,编写一个发送邮件,无非这么几步:

1).编写邮件内容

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

    暂无相关资讯
qq自动发消息脚本 如何用Python来实现报表的自动发送