1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #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()
|