Guest User

Untitled

a guest
Jul 16th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. import pandas as pd
  2. from datetime import date
  3. from datetime import time
  4. from datetime import datetime
  5. from datetime import timedelta
  6.  
  7. sample_order = pd.read_csv('vip_test_second.csv', sep = ',', decimal = '.', header = 0)
  8.  
  9. order_id = list(sort_sample['order_id'])
  10. user_id = list(sort_sample['user_id'])
  11. #purchase_time = list(sort_sample['purchase_time'])
  12. purchase_time = list(pd.to_datetime(sort_sample['purchase_time']))
  13. privileges_interval = list(sort_sample['group_id'])
  14. order_item = list(sort_sample['item'])
  15.  
  16. log = 1
  17. judge = [0]
  18. order_id_log = [0]
  19. privileger_start_time = []
  20. privileger_end_time = []
  21.  
  22. for order, user, pur_time, pri_interval, it in zip(order_id, user_id, purchase_time, privileges_interval, order_item):
  23.  
  24. print("上一个订单id:", order_id_log[-1], " * 上一个用户:", judge[-1])
  25. print("等待处理订单id: ", order, " * 等待处理用户:", user)
  26. ### 上一个判断的ID是这个ID,然后进入购买时间和权益时间的判断
  27. if user == judge[-1]:
  28. # print("YES!")
  29. # print(user, judge)
  30. # 如果购买时间在权益期内(小于上一个订单的到期时间),那么开始时间就是上一个订单的到期时间,
  31. # 如果购买时间大于上一个订单的到期时间,那么开始时间就是订单的购买时间
  32. if pur_time < privileger_end_time[-1]:
  33. start_time = privileger_end_time[-1]
  34. end_time = start_time + timedelta(days = int(pri_interval)*31)
  35. privileger_start_time.append(start_time)
  36. privileger_end_time.append(end_time)
  37. else:
  38. start_time = pur_time
  39. end_time = pur_time + timedelta(days = int(pri_interval)*31)
  40.  
  41. ### 上一个判断的ID和现在判断的ID不一样,进行第一单VIP权益时间的判断
  42. else:
  43. #### 权益开始时间,权益结束时间
  44. start_time = pur_time
  45. end_time = pur_time + timedelta(days = int(pri_interval)*31)
  46. privileger_start_time.append(start_time)
  47. privileger_end_time.append(end_time)
  48.  
  49. judge.append(user)
  50. order_id_log.append(order)
  51. print("##### 订单:", order, " 处理完毕 ###### ")
  52. print("**************************")
  53. print("目前共处理:", log ,"条")
  54. print("**************************")
  55.  
  56. log = log + 1
  57.  
  58. f = open('test.txt', 'a+')
  59. print(order, user, it ,pur_time, start_time, end_time , file = f)
  60. f.close()
Add Comment
Please, Sign In to add comment