#coding utf-8 import sys import json from db_help import RedisHelper if __name__=="__main__": nowdate = sys.argv[1] f1 = open("./data/sorted_hour_info_"+nowdate) f2 = open("./data/1_days_sorted_data_"+nowdate) f3 = open("./data/3_days_sorted_data_"+nowdate) data_dict = {} while True: line = f1.readline() if not line: break items = line.strip().split("\t") if len(items)<2: continue kid = items[0] #print(items[1]) item_info = json.loads(items[1]) data_dict[kid] = item_info f1.close() #f3 = open("./data/merge_score_"+nowdate, 'w') info_dict = {} while True: line = f2.readline() if not line: break items = line.split("\t") if len(items)<2: continue kid = items[0] d_item_info = json.loads(items[1]) if kid in data_dict: item_info = data_dict[kid] total_info = [] for i in range(len(item_info)): total_info.append(float(item_info[i])+0.1*float(d_item_info[i])) info_dict[kid] = total_info else: total_info = [] for i in range(len(d_item_info)): total_info.append(float(d_item_info[i])) #if len(total_info)>2: # total_info[0] = total_info[1]+0.1*total_info[3] #total_item_info = json.dumps(total_info) #f3.write(kid2+"\t"+total_item_info+"\n") info_dict[kid] = total_info #print(info_dict) print("info:", len(info_dict)) day3_dict = {} while True: line = f3.readline() if not line: break items = line.split("\t") if len(items)<2: continue kid = items[0] d_item_info = json.loads(items[1]) if kid in info_dict: item_info = info_dict[kid] total_info = [] for i in range(len(item_info)): total_info.append(float(item_info[i])+0.1*float(d_item_info[i])) day3_dict[kid] = total_info else: total_info = [] for i in range(len(d_item_info)): total_info.append(float(d_item_info[i])) day3_dict[kid] = total_info print("info3:", len(day3_dict)) f3 = open("./data/merge_3_days_score_"+nowdate, 'w') res_dict = {} res_dict2 = {} for k, v in day3_dict.items(): score = v[0] new_arr = [] new_arr.append(score) for i in range(4): new_arr.append(v[i]) #print(v) #print(new_arr) total_item_info = json.dumps(new_arr) kid2 = "kp_3:"+k kid3 = "kp_4:"+k f3.write(kid2+"\t"+total_item_info+"\n") #res_dict[kid2] = total_item_info res_dict2[kid3] = total_item_info #if len(res_dict)>0: # redis_helper = RedisHelper() # redis_helper.update_batch_setnx_key(res_dict, 60*60*24*15) if len(res_dict2)>0: redis_helper = RedisHelper() redis_helper.update_batch_setnx_key(res_dict2, 60*60*24*3) f2.close()