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