Python实战案例

实战案例

背景

某公司要求数据分析师每天做一个表,并且定时以邮件形式发送到指定邮箱

要求

  • 这个表包括销售额、客流量、客单价这三个指标的本月累计、上月同期、去年同期、环比、同比几个数值
  • 每天定时向指定邮箱以邮件形式发送统计结果
本月累计 上月同期 去年同期 环比 同比
销售额
客流量
客单价

附录

  • 销售额 = 单价 * 销量
  • 客流量 = 订单ID去重计数
  • 客单价 = 销售额 / 客流量
  • 本月累计 = 2020年3月的总数
  • 上月同期 = 2020年2月的总数
  • 去年同期 = 2019年3月的总数
  • 同比增长率 = (现在的某个指标的值 - 上年同期这个指标的值) / 上年同期这个指标的值 * 100%
  • 环比增长率 = (本月的某个指标值 - 上月的某个指标的值) / 上月某个指标的值 * 100%

附录2

Python如何发邮件

首先通过pip安装yagmail

1
2
3
4
5
6
7
import yagmail

yag = yagmail.SMTP(user = "hsdgawrk@163.com", password = 'yangjiacheng', host = 'smtp.163.com')
yag.send('lzxtsl@outlook.com', # 收件人地址
'邮件标题',
'邮件内容',
[r'附件地址.csv'])

如何实现定时功能

通过pip安装schedule库

1
2
3
4
5
6
7
8
9
10
11
import schedule

def getHello(txt):
print('hello', txt)

schedule.clear() # 首先需要清空之前的定时任务
schedule.every().day.at('10:07').do(getHello, 'sb')

while True:
schedule.run_pending()
time.sleep(1)