python 邮件中生成图表_用python实现每日自动生成excel发送邮件

本文介绍如何使用Python实现自动化生成Excel报表,结合数据库查询、邮件发送等功能,减少手动整理数据周报、日报的工作。主要涉及pymysql、openpyxl、email、smtplib等模块,通过定时任务实现每日自动发送包含图表的邮件。
摘要由CSDN通过智能技术生成

数据分析师通常少不了一项工作,就是给领导们或者业务方发送数据周报、日报。每天重复整理相同的报表的工作实在是浪费精力又没有意义。这种简单、重复性的工作还是交给python来做吧。

这里使用python主要借助的是pymysql、openpyxl、email和smtplib这几个模块,pymysql用来连接数据库,取数数据,openpyxl用来写入excel,而email和smtplib用来做邮件处理和建立服务器链接、发送邮件。

# -*- coding: utf-8 -*-

import pymysql,openpyxl
import pandas as pd
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
from email.mime.application import MIMEApplication
from email.mime.base import MIMEBase
from email.header import Header
from email import encoders
import smtplib
import time
import datetime
import win32com.client as win32 # 打开excel文件
from PIL import ImageGrab   #用于获取复制的图片

now = datetime.datetime.now()
date=datetime.datetime.strftime(now-datetime.timedelta(days = 1), '%Y%m%d')#获取日期

第一步要做的是建立数据库连接和取数。host是要连接的MySQL服务器地址,port是服务器端口号,user和passwd分别是用户名和密码,db则是数据库名称。charset是连接编码,一般用utf8。

def connectDatabase(sql): #连接mysql数据库
    db = pymysql.connect(
        host = 'xxxxxx',
        port = xxx,
        user = 'xxxxxxx',
        passwd = 'xxxxxxx',
        db = 'xxxxxxxxx',
        charset = "utf8")
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值