#coding utf-8 import sys import json from db_help import RedisHelper if __name__=="__main__": nowdate = sys.argv[1] f1 = open("./data/sorted_hour_data_"+nowdate) f2 = open("./data/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 = {} info_dict2 = {} info_dict3 = {} info_dict4 = {} while True: line = f2.readline() if not line: break items = line.split("\t") if len(items)<2: continue kid = items[0].replace("k_p:", "") kid2 = "k_p2:"+kid kid3 = "k_p3:"+kid kid4 = "k_p4:"+kid kid5 = "k_p7:"+kid #print(kid) d_item_info = json.loads(items[1]) if kid in data_dict: item_info = data_dict[kid] #print("h:",item_info) #print("d:",d_item_info) total_info = [] for i in range(len(item_info[:5])): total_info.append(item_info[i]+d_item_info[i]) #if len(total_info)>2: # total_info[0] = total_info[0]+0.1*total_info[3] total_item_info = json.dumps(total_info) f3.write(kid2+"\t"+total_item_info+"\n") info_dict[kid2] = total_item_info info_dict2[kid3] = total_item_info info_dict3[kid4] = total_item_info info_dict4[kid5] = total_item_info #print("m:",total_item_info) else: total_info = [] for i in range(len(d_item_info[:5])): total_info.append(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[kid2] = total_item_info info_dict2[kid3] = total_item_info info_dict3[kid4] = total_item_info info_dict4[kid5] = total_item_info print(info_dict4) if len(info_dict)>0: redis_helper = RedisHelper() redis_helper.update_batch_setnx_key(info_dict, 60*60*24*3) if len(info_dict2)>0: redis_helper = RedisHelper() redis_helper.update_batch_setnx_key(info_dict2, 60*60*24*3) if len(info_dict3)>0: redis_helper = RedisHelper() redis_helper.update_batch_setnx_key(info_dict3, 60*60*24*3) if len(info_dict4)>0: redis_helper = RedisHelper() redis_helper.update_batch_setnx_key(info_dict4, 60*60*24*3) f2.close()