getGoodRecall.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #coding utf-8
  2. import sys
  3. from operator import itemgetter
  4. import json
  5. import pandas as pd
  6. from db_help import RedisHelper
  7. if __name__=="__main__":
  8. #1.load data
  9. nowdate=sys.argv[1]
  10. vlog='0'
  11. love_live = 4
  12. data_path = "./data/return_good_video_"+nowdate
  13. f = open(data_path)
  14. #data = pd.read_csv(data_path, encoding="utf-8", sep='\t')
  15. #print(data)
  16. index = 0
  17. data_dict = {}
  18. video_list = []
  19. redis_helper = RedisHelper()
  20. while True:
  21. line = f.readline()
  22. if not line:
  23. break
  24. if index==0:
  25. index += 1
  26. continue
  27. index +=1
  28. items = line.strip().split("\t")
  29. if len(items)<4:
  30. continue
  31. vid = int(items[0])
  32. return_times = int(items[1])
  33. return_users = int(items[2])
  34. rov = float(items[3])
  35. video_list.append((vid,rov,return_times, return_users))
  36. #print(items)
  37. video_list = sorted(video_list , key=lambda tup: tup[1], reverse=True)
  38. f1 = open("./data/hot_good_recall_"+nowdate, 'w')
  39. #sorted_v = sorted(info_dict.items(), key=lambda s:s[1][1], reverse=True)
  40. print("sorted_v:", video_list[:50])
  41. recall_name = "hot_video:"
  42. if len(video_list)>0:
  43. score_info = json.dumps(video_list[:50])
  44. print("score_info:", score_info)
  45. redis_helper.set_data_to_redis(recall_name, score_info, 60*60*24*7)
  46. f1.write(recall_name+"\t"+score_info+"\n")
  47. f1.close()
  48. #info_dict[k] = score_info
  49. #f.write(k+"\t"+score_info+"\n")
  50. #redis_helper.update_batch_setnx_key(info_dict, 60*60*24*15)
  51. #f.close()