Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- from datetime import date
- from datetime import time
- from datetime import datetime
- from datetime import timedelta
- sample_order = pd.read_csv('vip_test_second.csv', sep = ',', decimal = '.', header = 0)
- order_id = list(sort_sample['order_id'])
- user_id = list(sort_sample['user_id'])
- #purchase_time = list(sort_sample['purchase_time'])
- purchase_time = list(pd.to_datetime(sort_sample['purchase_time']))
- privileges_interval = list(sort_sample['group_id'])
- order_item = list(sort_sample['item'])
- log = 1
- judge = [0]
- order_id_log = [0]
- privileger_start_time = []
- privileger_end_time = []
- for order, user, pur_time, pri_interval, it in zip(order_id, user_id, purchase_time, privileges_interval, order_item):
- print("上一个订单id:", order_id_log[-1], " * 上一个用户:", judge[-1])
- print("等待处理订单id: ", order, " * 等待处理用户:", user)
- ### 上一个判断的ID是这个ID,然后进入购买时间和权益时间的判断
- if user == judge[-1]:
- # print("YES!")
- # print(user, judge)
- # 如果购买时间在权益期内(小于上一个订单的到期时间),那么开始时间就是上一个订单的到期时间,
- # 如果购买时间大于上一个订单的到期时间,那么开始时间就是订单的购买时间
- if pur_time < privileger_end_time[-1]:
- start_time = privileger_end_time[-1]
- end_time = start_time + timedelta(days = int(pri_interval)*31)
- privileger_start_time.append(start_time)
- privileger_end_time.append(end_time)
- else:
- start_time = pur_time
- end_time = pur_time + timedelta(days = int(pri_interval)*31)
- ### 上一个判断的ID和现在判断的ID不一样,进行第一单VIP权益时间的判断
- else:
- #### 权益开始时间,权益结束时间
- start_time = pur_time
- end_time = pur_time + timedelta(days = int(pri_interval)*31)
- privileger_start_time.append(start_time)
- privileger_end_time.append(end_time)
- judge.append(user)
- order_id_log.append(order)
- print("##### 订单:", order, " 处理完毕 ###### ")
- print("**************************")
- print("目前共处理:", log ,"条")
- print("**************************")
- log = log + 1
- f = open('test.txt', 'a+')
- print(order, user, it ,pur_time, start_time, end_time , file = f)
- f.close()
Add Comment
Please, Sign In to add comment