计算日期数据环比
#计算日期数据环比
#环比,统计学术语,是表示连续2个统计周期(比如连续两月)内的量的变化比。
#环比增长率=(本期数-上期数)/上期数×100%
sale_date.txt文件内容如下:
日期 金额
2022-04-01 50
2022-04-02 60
2022-04-03 45
2022-04-04 70
2022-04-05 80
2022-04-06 90
2022-04-07 100
2022-04-08 120
2022-04-09 40
2022-04-10 30
2022-04-11 60
2022-04-12 50
2022-04-13 70
2022-04-14 80
2022-04-15 90
2022-04-16 100
2022-04-17 85
2022-04-18 75
2022-04-19 60
2022-04-20 55
2022-04-21 60
2022-04-22 90
2022-04-23 80
2022-04-24 60
2022-04-25 40
2022-04-26 10
2022-04-27 30
2022-04-28 90
2022-04-29 75
2022-04-30 55
注意,上面的不是空格,而是tab(\t)空出来的
#计算日期数据环比
#环比,统计学术语,是表示连续2个统计周期(比如连续两月)内的量的变化比。
#环比增长率=(本期数-上期数)/上期数×100%
import os
import datetime
def sale_datetime(startdate):
dic_date_sale ={}
with open("./dir1/sale_date.txt",encoding='utf-8') as fin :
for line in fin :
line = line[:-1] # 去掉换行符\n
date_string, sale_string = line.split("\t")
if date_string not in dic_date_sale:
dic_date_sale[date_string] = sale_string
for k in dic_date_sale.keys():
if k == "日期" :
del(dic_date_sale[k])
break
startdate_obj = datetime.datetime.strptime(startdate,"%Y-%m-%d")
date_timedelta =datetime.timedelta(days=7)
datetime_result_str = (startdate_obj -date_timedelta).strftime("%Y-%m-%d")
days7_sale = int(dic_date_sale[startdate])
days7_ago_sale= int(dic_date_sale[datetime_result_str])
res = format(float((days7_sale-days7_ago_sale)/days7_ago_sale),'.2%')
return res
if __name__ == '__main__':
value = sale_datetime("2022-04-29")
print(value)