# -*- coding: UTF-8 -*- import datetime from getAnswerImpRate import get_all_answer_imp_rate,get_ios_answer_imp_rate,get_android_answer_imp_rate from getActivateUidCtr import get_all_click_one_rate,get_ios_click_one_rate,get_android_click_one_rate from getClickAnswerUidRate import get_all_click_answer_rate,get_ios_click_answer_rate,get_android_click_answer_rate from getClickDiaryUidRate import get_all_click_diary_rate,get_ios_click_diary_rate,get_android_click_diary_rate from getClickZeroUidRate import get_all_click_zero_rate,get_ios_click_zero_rate,get_android_click_zero_rate def get_yesterday_date(): today = datetime.date.today() yesterday = today - datetime.timedelta(days=1) yesterday = yesterday.strftime("%Y%m%d") return yesterday def result2file(fpath): with open(fpath,'w') as f: f.write("#注意:以下数据都是首页的\n") f.write("#1. 比例特征\n") f.write("=================================================================\n") f.write("#1.1answer曝光占比(=answer被曝光数/总cid被曝光数)\n") f.write("平台"+"\t"+"answer被曝光数"+"\t"+"总cid被曝光数"+"\t"+"answer被曝光数占比\n") all_answer_imp_rate = get_all_answer_imp_rate() ios_answer_imp_rate = get_ios_answer_imp_rate() android_answer_imp_rate = get_android_answer_imp_rate() lst = [all_answer_imp_rate,ios_answer_imp_rate,android_answer_imp_rate] for i in lst: line = "" for j in i: line += str(j) + '\t' line = line[:-1]+'\n' f.write(line) print("1.1已将answer曝光占比存入文件") f.write("#1.2有点击用户点击率(=有点击用户点击次数/有点击用户曝光次数)\n") f.write("平台"+"\t"+"有点击用户点击次数"+"\t"+"有点击用户曝光次数"+"\t"+"有点击用户点击率\n") all_click_one_rate = get_all_click_one_rate() ios_click_one_rate = get_ios_click_one_rate() android_click_one_rate = get_android_click_one_rate() lst = [all_click_one_rate,ios_click_one_rate,android_click_one_rate] for i in lst: line = "" for j in i: line += str(j) + '\t' line = line[:-1]+'\n' f.write(line) print("1.2已将有点击用户点击率存入文件") f.write("#1.3点击answer用户占比(=点击answer用户数/曝光answer用户数)\n") f.write("平台"+"\t"+"点击answer用户数"+"\t"+"曝光answer用户数"+"\t"+"点击answer用户占比\n") all_click_answer_rate = get_all_click_answer_rate() ios_click_answer_rate = get_ios_click_answer_rate() android_click_answer_rate = get_android_click_answer_rate() lst = [all_click_answer_rate,ios_click_answer_rate,android_click_answer_rate] for i in lst: line = "" for j in i: line += str(j) + '\t' line = line[:-1]+'\n' f.write(line) print("1.3已将点击answer用户占比存入文件") f.write("#1.4点击diary用户占比(=点击diary用户数/曝光diary用户数)\n") f.write("平台"+"\t"+"点击diary用户数"+"\t"+"曝光diary用户数"+"\t"+"点击diary用户占比\n") all_click_diary_rate = get_all_click_diary_rate() ios_click_diary_rate = get_ios_click_diary_rate() android_click_diary_rate = get_android_click_diary_rate() lst = [all_click_diary_rate,ios_click_diary_rate,android_click_diary_rate] for i in lst: line = "" for j in i: line += str(j) + '\t' line = line[:-1]+'\n' f.write(line) print("1.4已将点击diary用户占比存入文件") f.write("#1.5无点击用户占比(=无点击用户数/有曝光用户数)\n") f.write("平台"+"\t"+"无点击用户数"+"\t"+"有曝光用户数"+"\t"+"无点击用户占比\n") all_click_zero_rate = get_all_click_zero_rate() ios_click_zero_rate = get_ios_click_zero_rate() android_click_zero_rate = get_android_click_zero_rate() lst = [all_click_zero_rate,ios_click_zero_rate,android_click_zero_rate] for i in lst: line = "" for j in i: line += str(j) + '\t' line = line[:-1]+'\n' f.write(line) f.write('\n\n') print("1.5已将无点击用户占比存入文件") def main(): output_path = "../data/rate_features_%s.txt" % get_yesterday_date() print("开始获取比例特征...") result2file(output_path) print("已将所有比例特征存入文件") if __name__ == '__main__': main()