python自动化报表demo
import pandas as pd
from datetime import datetime
data=pd.read_csv(r"C:\Users\Showing\Desktop\order.csv",parse_dates=["成交时间"],engine="python",encoding="gbk")
data.head()
data.info()
This_data = data[(data["成交时间"] >= datetime(2018,2,1)) & (data["成交时间"] <= datetime(2018,2,28))]
Last_data = data[(data["成交时间"] >= datetime(2018,1,1)) & (data["成交时间"] <= datetime(2018,1,31))]
Same_data = data[(data["成交时间"] >= datetime(2017,2,1)) & (data["成交时间"] <= datetime(2017,2,28))]
def get_month_data(data):
sale = (data["单价"]*data["销量"]).sum() traffic = data["订单ID"].drop_duplicates().count() s_t = sale/traffic return (sale,traffic,s_t)
sale_1, traffic_1, s_t_1 = get_month_data(This_data)
sale_2, traffic_2, s_t_2 = get_month_data(Last_data)
sale_3, traffic_3, s_t_3 = get_month_data(Same_data)
report = pd.DataFrame([[sale_1,sale_2,sale_3], [traffic_1,traffic_2,traffic_3], [s_t_1,s_t_2,s_t_3]],
columns = ["本月累计","上月同期","去年同期"], index = ["销售额","客流量","客单价"])
report
report["环比"] = report["本月累计"]/report["上月同期"] -1
report["同比"] = report["本月累计"]/report["去年同期"] -1
report
report.to_csv(r"C:\Users\Showing\Desktop\result.csv",encoding= "utf-8-sig")