def get_table(search_start_date, server_id): """ 获取表格 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename( "USER_GENERATE_GOLD", search_start_date, server_id) total_generate = new_log_dict.get('total_generate', 0) # 总产出 total_cost = new_log_dict.get('total_cost', 0) # 总消耗 actions = new_log_dict.get('actions', set()) row_generate = [ "0总产出", str(total_generate), str(get_rate(total_generate, total_generate) * 100) + "%" ] row_cost = [ "0总消耗", str(total_cost), str(get_rate(total_cost, total_cost) * 100) + "%" ] table_lst = [row_generate, row_cost] for action in actions: row_lst = [] action_cost = new_log_dict.get(action, 0) row_lst.append(game_define.EVENT_LOG_ACTION_DICT[action]) row_lst.append(str(action_cost)) row_lst.append(str(get_rate(action_cost, total_generate) * 100) + "%") table_lst.append(row_lst) return table_lst
def get_cost_gold_table(search_start_date, server_id): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename("DAILY_CONSUME_DISTRIBUTED_GOLD",search_start_date, server_id) # 今天登录设备数 date_str = "_"+search_start_date.strftime('%Y%m%d') today_device_num = mysql_util.get_today_num('dev_id','EVENT_ACTION_ROLE_LOGIN'+str(date_str),search_start_date,game_define.EVENT_ACTION_ROLE_LOGIN) actions = new_log_dict.get("actions", set()) table_lst =[] for _action in actions: action_name = game_define.EVENT_LOG_ACTION_DICT[_action] action_generate_stone = -new_log_dict.get('action_%s_gold' % _action, 0) user_num = new_log_dict.get('action_%s_user_num' % _action, 0) action_cost_num = new_log_dict.get('action_%s_log_num'% _action, 0) action_stone_rate = -new_log_dict.get('action_%s_gold_rate'% _action, 0) cur_user_num_rate = new_log_dict.get('action_%s_user_rate' % _action, 0) take_part_rate = _get_rate(user_num, today_device_num) row = [action_name, action_generate_stone, user_num, action_cost_num, str(take_part_rate * 100)+"%", str(action_stone_rate * 100)+"%", str(cur_user_num_rate * 100)+"%"] table_lst.append(row) return table_lst
def get_table(search_start_date, server_id): # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename("USER_HOLD_GOLD", search_start_date, server_id, 'tables') total_gold = str(new_log_dict.get('total_gold',0)) total_user = str(new_log_dict.get('total_user',0)) active_user = str(new_log_dict.get('active_user',0)) row_lst = [[search_start_date.strftime('%m/%d/%Y'), total_gold, total_user, active_user]] return row_lst
def get_table(search_start_date, server_id): # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename("USER_HOLD_STONE", search_start_date, server_id, 'tables') total_gold = str(new_log_dict.get('total_stone',0)) total_user = str(new_log_dict.get('total_user',0)) active_user = str(new_log_dict.get('active_user',0)) row_lst = [[search_start_date.strftime('%m/%d/%Y'), total_gold, total_user, active_user]] return row_lst
def get_table(search_start_date, server_id): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename( "USER_STONE_CONSUME", search_start_date, server_id) # print(new_log_dict) # if channel_id >= 0: # new_log_lst = daily_log_dat.filter_logs(new_log_lst, function=lambda x: x['platform_id'] == channel_id) # if server_id >= 0: # new_log_lst = daily_log_dat.filter_logs(new_log_lst, function=lambda x: x['server_id'] == server_id) # #获取符合条件的日志 # if register_start_date and register_end_date: # new_log_lst = daily_log_dat.filter_logs(new_log_lst, function=lambda log: register_start_date <= log['install'] <= register_end_date) # 获取所有钻石消耗的日志 # cost_stone_log_lst = daily_log_dat.filter_logs(new_log_lst, function=lambda log: 'cost_stone' in log) # level_log_dict = get_user_level_dict(cost_stone_log_lst) table_result = [] for _lv in xrange(1, 121): # print("--------------------"+str(_lv) + "--------------------") row = [] # print(""+str(new_log_dict.get('level_total_cost_%s' % _lv,0))) sum_cost_stone = new_log_dict.get('level_total_cost_%s' % _lv, 0) cur_lv_num = new_log_dict.get('level_user_cost_num_%s' % _lv, 0) #到达人数 arrive_user_num = new_log_dict.get('level_user_arrive_%s' % _lv, 0) level_arppu = new_log_dict.get('level_arppu_%s' % _lv, 0) # 等级 row.append(str(_lv)) # 消耗人数 row.append(str(cur_lv_num)) # 消耗数量 row.append(str(sum_cost_stone)) # 到达人数 row.append(arrive_user_num) # 等级消耗ARPPU row.append(str(level_arppu)) # 等级消耗率 if arrive_user_num == 0: row.append(str(0) + "%") else: row.append( str( round(float(cur_lv_num) / float(arrive_user_num), 2) * 100) + "%") # row = [_lv, action_total_cost_stone, user_num, action_cost_num, take_part_rate, first_cost_stone_rate, cur_user_num_rate] # print("row: "+str(row)) table_result.append(row) return table_result
def get_table(search_end_date, register_start_date=None, register_end_date=None, server_id=-1): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # new_log_lst = {} new_log_lst = dat_log_util.read_file_dict_with_filename("USER_DETAIL",search_end_date,server_id, 'tables') # sql = "SELECT * FROM USER_LEVEL_LOST_STATE" # result = mysql_util.query(sql) user_num_dict = dict() lost_user_num_dict = dict() arrive_user_num = dict() for dat in new_log_lst.values(): cur_lv = dat['level'] if register_start_date and register_end_date: if dat['last_play_time'].date() < (search_end_date - datetime.timedelta(days=3)) and register_start_date <= dat['install'] <= register_end_date: lost_user_num_dict[cur_lv] = lost_user_num_dict.get(cur_lv, 0) + 1 if register_start_date <= dat['install'] <= register_end_date: user_num_dict[cur_lv] = user_num_dict.get(cur_lv, 0) + 1 else: if dat['last_play_time'].date() < (search_end_date - datetime.timedelta(days=3)): lost_user_num_dict[cur_lv] = lost_user_num_dict.get(cur_lv, 0) + 1 user_num_dict[cur_lv] = user_num_dict.get(cur_lv, 0) + 1 for _table_lv in xrange(1, 121): if register_start_date and register_end_date: arrive_num = sum([user_num_dict.get(lv, 0) for lv in xrange(_table_lv, 121)]) arrive_user_num[_table_lv] = arrive_num else: arrive_num = sum([user_num_dict.get(lv, 0) for lv in xrange(_table_lv, 121)]) arrive_user_num[_table_lv] = arrive_num # 遍历全部等级 table_row_lst = [] for _table_lv in xrange(1, 121): # 停留人数 user_num = user_num_dict.get(_table_lv, 0) # 流失人数 lost_num = lost_user_num_dict.get(_table_lv, 0) # 留存人数 stand_num = user_num - lost_num # 到达等级人数 arrive_num = arrive_user_num[_table_lv] # 等级流失率 level_lost_rate = str(_get_level_lost_rate(lost_num, arrive_num) * 100) + "%" # 等级 停留人数 留存人数 流失人数 到达人数 等级流失率 content = [_table_lv, user_num, stand_num, lost_num, arrive_num, level_lost_rate] table_row_lst.append(content) return table_row_lst
def get_table(search_start_date, server_id): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename("USER_STONE_CONSUME",search_start_date, server_id) # print(new_log_dict) # if channel_id >= 0: # new_log_lst = daily_log_dat.filter_logs(new_log_lst, function=lambda x: x['platform_id'] == channel_id) # if server_id >= 0: # new_log_lst = daily_log_dat.filter_logs(new_log_lst, function=lambda x: x['server_id'] == server_id) # #获取符合条件的日志 # if register_start_date and register_end_date: # new_log_lst = daily_log_dat.filter_logs(new_log_lst, function=lambda log: register_start_date <= log['install'] <= register_end_date) # 获取所有钻石消耗的日志 # cost_stone_log_lst = daily_log_dat.filter_logs(new_log_lst, function=lambda log: 'cost_stone' in log) # level_log_dict = get_user_level_dict(cost_stone_log_lst) table_result = [] for _lv in xrange(1, 121): # print("--------------------"+str(_lv) + "--------------------") row = [] # print(""+str(new_log_dict.get('level_total_cost_%s' % _lv,0))) sum_cost_stone= new_log_dict.get('level_total_cost_%s' % _lv,0) cur_lv_num= new_log_dict.get('level_user_cost_num_%s' % _lv,0) #到达人数 arrive_user_num = new_log_dict.get('level_user_arrive_%s' % _lv,0) level_arppu = new_log_dict.get('level_arppu_%s' % _lv,0) # 等级 row.append(str(_lv)) # 消耗人数 row.append(str(cur_lv_num)) # 消耗数量 row.append(str(sum_cost_stone)) # 到达人数 row.append(arrive_user_num) # 等级消耗ARPPU row.append(str(level_arppu)) # 等级消耗率 if arrive_user_num == 0: row.append(str(0) + "%") else: row.append(str(round(float(cur_lv_num) / float(arrive_user_num), 2) * 100) + "%") # row = [_lv, action_total_cost_stone, user_num, action_cost_num, take_part_rate, first_cost_stone_rate, cur_user_num_rate] # print("row: "+str(row)) table_result.append(row) return table_result
def get_table(search_start_date, server_id): """ 获取表格 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename( "USER_GENERATE_STONE", search_start_date, server_id) # head_name_lst = [] total_generate = new_log_dict.get('total_generate', 0) total_cost = new_log_dict.get('total_cost', 0) actions = new_log_dict.get('actions', set()) # 获取消耗 # row_lst = [ # search_start_date.strftime('%m/%d/%Y'), # str(total_generate), # str(total_cost), # ] # for action in actions: # action_cost = new_log_dict.get(action, 0) # head_name_lst.append(game_define.EVENT_LOG_ACTION_DICT[action]) # row_lst.append(str(action_cost)) ###新增比率部分 # row_lst_two = ['比率', str(get_rate(total_generate, total_generate) * 100) + "%", # str(get_rate(total_cost, total_cost) * 100) + "%"] # for action in actions: # action_cost = new_log_dict.get(action, 0) # row_lst_two.append(str(get_rate(action_cost, total_generate) * 100) + "%") # # row_sum_lst = [row_lst, row_lst_two] row_generate = [ "0总产出", str(total_generate), str(get_rate(total_generate, total_generate) * 100) + "%" ] row_cost = [ "0总消耗", str(total_cost), str(get_rate(total_cost, total_cost) * 100) + "%" ] table_lst = [row_generate, row_cost] for action in actions: row_lst = [] action_cost = new_log_dict.get(action, 0) row_lst.append(game_define.EVENT_LOG_ACTION_DICT[action]) row_lst.append(str(action_cost)) row_lst.append(str(get_rate(action_cost, total_generate) * 100) + "%") table_lst.append(row_lst) return table_lst
def get_table(search_start_date, server_id=-1): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ new_log_lst = dat_log_util.read_file_dict_with_filename( "USER_DETAIL", search_start_date, server_id, 'tables') user_num_dict = dict() lost_user_num_dict = dict() for dat in new_log_lst.values(): cur_lv = dat['level'] if search_start_date == dat['install']: user_num_dict[cur_lv] = user_num_dict.get(cur_lv, 0) + 1 #这里再查第二天的new_log_lst if search_start_date == dat['install'] and dat['last_play_time'].date( ) == dat['install']: lost_user_num_dict[cur_lv] = lost_user_num_dict.get(cur_lv, 0) + 1 num_total = 0 for _table_lv in xrange(1, 121): num_total += user_num_dict.get(_table_lv, 0) # 遍历全部等级 table_row_lst = [] for _table_lv in xrange(1, 121): # 停留人数 user_num = user_num_dict.get(_table_lv, 0) # 流失人数 lost_num = lost_user_num_dict.get(int(_table_lv), 0) # 留存人数 stand_num = user_num - lost_num # 等级比率 level_rate = str(_get_rate(user_num, num_total) * 100) + "%" # 留存人数比率 level_lost_rate = str(_get_rate(stand_num, num_total) * 100) + "%" #todo: # if _t # 等级 停留人数 留存人数比率 等级流存率 content = [_table_lv, user_num, level_rate, level_lost_rate] table_row_lst.append(content) return table_row_lst
def get_table(search_start_date, server_id=-1): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ new_log_lst = dat_log_util.read_file_dict_with_filename("USER_DETAIL",search_start_date,server_id,'tables') user_num_dict = dict() lost_user_num_dict = dict() for dat in new_log_lst.values(): cur_lv = dat['level'] if search_start_date == dat['install']: user_num_dict[cur_lv] = user_num_dict.get(cur_lv, 0) + 1 #这里再查第二天的new_log_lst if search_start_date == dat['install'] and dat['last_play_time'].date() == dat['install']: lost_user_num_dict[cur_lv] = lost_user_num_dict.get(cur_lv, 0) + 1 num_total = 0 for _table_lv in xrange(1, 121): num_total += user_num_dict.get(_table_lv, 0) # 遍历全部等级 table_row_lst = [] for _table_lv in xrange(1, 121): # 停留人数 user_num = user_num_dict.get(_table_lv, 0) # 流失人数 lost_num = lost_user_num_dict.get(int(_table_lv), 0) # 留存人数 stand_num = user_num - lost_num # 等级比率 level_rate = str(_get_rate(user_num, num_total)* 100) + "%" # 留存人数比率 level_lost_rate = str(_get_rate(stand_num , num_total) * 100) + "%" #todo: # if _t # 等级 停留人数 留存人数比率 等级流存率 content = [_table_lv, user_num, level_rate, level_lost_rate] table_row_lst.append(content) return table_row_lst
def get_table(search_start_date, server_id): """ 获取表格 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename("USER_GENERATE_STONE", search_start_date, server_id) # head_name_lst = [] total_generate = new_log_dict.get('total_generate', 0) total_cost = new_log_dict.get('total_cost', 0) actions = new_log_dict.get('actions', set()) # 获取消耗 # row_lst = [ # search_start_date.strftime('%m/%d/%Y'), # str(total_generate), # str(total_cost), # ] # for action in actions: # action_cost = new_log_dict.get(action, 0) # head_name_lst.append(game_define.EVENT_LOG_ACTION_DICT[action]) # row_lst.append(str(action_cost)) ###新增比率部分 # row_lst_two = ['比率', str(get_rate(total_generate, total_generate) * 100) + "%", # str(get_rate(total_cost, total_cost) * 100) + "%"] # for action in actions: # action_cost = new_log_dict.get(action, 0) # row_lst_two.append(str(get_rate(action_cost, total_generate) * 100) + "%") # # row_sum_lst = [row_lst, row_lst_two] row_generate = ["0总产出", str(total_generate), str(get_rate(total_generate, total_generate) * 100) + "%"] row_cost = ["0总消耗", str(total_cost), str(get_rate(total_cost, total_cost) * 100) + "%"] table_lst = [row_generate, row_cost] for action in actions: row_lst = [] action_cost = new_log_dict.get(action, 0) row_lst.append(game_define.EVENT_LOG_ACTION_DICT[action]) row_lst.append(str(action_cost)) row_lst.append(str(get_rate(action_cost, total_generate) * 100) + "%") table_lst.append(row_lst) return table_lst
def get_table(search_start_date, server_id): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename( "USER_GOLD_CONSUME", search_start_date, server_id) table_result = [] for _lv in xrange(1, 121): row = [] sum_cost_stone = new_log_dict.get('level_total_cost_%s' % _lv, 0) cur_lv_num = new_log_dict.get('level_user_cost_num_%s' % _lv, 0) #到达人数 arrive_user_num = new_log_dict.get('level_user_arrive_%s' % _lv, 0) level_arppu = new_log_dict.get('level_arppu_%s' % _lv, 0) # 等级 row.append(_lv) # 消耗人数 row.append(str(cur_lv_num)) # 消耗数量 row.append(str(sum_cost_stone)) # 到达人数 row.append(arrive_user_num) # 等级消耗ARPPU row.append(str(level_arppu)) # 等级消耗率 if arrive_user_num == 0: row.append(str(0) + "%") else: row.append( str( round(float(cur_lv_num) / float(arrive_user_num), 2) * 100) + "%") table_result.append(row) return table_result
def get_cost_stone_table(search_start_date, server_id): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename( "DAILY_CONSUME_DISTRIBUTED_STONE", search_start_date, server_id) # print new_log_dict # 今天登录设备数 date_str = "_" + search_start_date.strftime('%Y%m%d') today_device_num = mysql_util.get_today_num( 'dev_id', 'EVENT_ACTION_ROLE_LOGIN' + str(date_str), search_start_date, game_define.EVENT_ACTION_ROLE_LOGIN) actions = new_log_dict.get("actions", set()) table_lst = [] for _action in actions: action_name = game_define.EVENT_LOG_ACTION_DICT[_action] action_generate_stone = -new_log_dict.get('action_%s_stone' % _action, 0) user_num = new_log_dict.get('action_%s_user_num' % _action, 0) action_cost_num = new_log_dict.get('action_%s_log_num' % _action, 0) action_stone_rate = -new_log_dict.get('action_%s_stone_rate' % _action, 0) cur_user_num_rate = new_log_dict.get('action_%s_user_rate' % _action, 0) take_part_rate = _get_rate(user_num, today_device_num) row = [ action_name, action_generate_stone, user_num, action_cost_num, str(take_part_rate * 100) + "%", str(action_stone_rate * 100) + "%", str(cur_user_num_rate * 100) + "%" ] table_lst.append(row) return table_lst
def get_table(search_start_date, server_id): """ 获取表格 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename("USER_GENERATE_GOLD", search_start_date, server_id) total_generate = new_log_dict.get('total_generate', 0) # 总产出 total_cost = new_log_dict.get('total_cost', 0) # 总消耗 actions = new_log_dict.get('actions', set()) row_generate = ["0总产出", str(total_generate), str(get_rate(total_generate, total_generate) * 100) + "%"] row_cost = ["0总消耗", str(total_cost), str(get_rate(total_cost, total_cost) * 100) + "%"] table_lst = [row_generate, row_cost] for action in actions: row_lst = [] action_cost = new_log_dict.get(action, 0) row_lst.append(game_define.EVENT_LOG_ACTION_DICT[action]) row_lst.append(str(action_cost)) row_lst.append(str(get_rate(action_cost, total_generate) * 100) + "%") table_lst.append(row_lst) return table_lst
def get_table(search_start_date, server_id): """ 获取展示表格 register_start_date 注册开始时间 register_end_date 注册结束时间 search_start_date 查询开始时间 search_end_date 查询结束时间 """ # 获取搜索区间日志 new_log_dict = dat_log_util.read_file_dict_with_filename("USER_GOLD_CONSUME",search_start_date, server_id) table_result = [] for _lv in xrange(1, 121): row = [] sum_cost_stone= new_log_dict.get('level_total_cost_%s' % _lv,0) cur_lv_num= new_log_dict.get('level_user_cost_num_%s' % _lv,0) #到达人数 arrive_user_num = new_log_dict.get('level_user_arrive_%s' % _lv,0) level_arppu = new_log_dict.get('level_arppu_%s' % _lv,0) # 等级 row.append(_lv) # 消耗人数 row.append(str(cur_lv_num)) # 消耗数量 row.append(str(sum_cost_stone)) # 到达人数 row.append(arrive_user_num) # 等级消耗ARPPU row.append(str(level_arppu)) # 等级消耗率 if arrive_user_num == 0: row.append(str(0) + "%") else: row.append(str(round(float(cur_lv_num) / float(arrive_user_num), 2) * 100) + "%") table_result.append(row) return table_result
def get_table(search_start_date, search_end_date, register_start_date=None, register_end_date=None, channel_id=-1, server_id=-1): """ 获取各等级充值状况表格 """ # 获取搜索区间日志 now_date = datetime.date.today() if search_end_date >= now_date: search_end_date = search_end_date-datetime.timedelta(days=1) total_recharge_log_lst = [] total_days = (search_end_date - search_start_date).days + 1 for i in xrange(total_days): search_date = search_start_date + datetime.timedelta(days=i) date_str = "_" + search_date.strftime('%Y%m%d') recharge_log_lst = mysql_util.get_role_action_lst('EVENT_ACTION_RECHARGE_PLAYER' + str(date_str), search_date, search_date, channel_id, server_id, register_start_date, register_end_date) total_recharge_log_lst.extend(recharge_log_lst) channel_server_str = "" if channel_id >= 0: channel_server_str += "platform_id = " + str(channel_id) + " and " if server_id >= 0: channel_server_str += " server_id = " + str(server_id) + " and " if register_start_date: channel_server_str += " '%s' <= install and " % register_start_date if register_end_date: channel_server_str += " install <= '%s' " % register_end_date # if channel_server_str: # sql = "SELECT * FROM user_detail WHERE %s " % channel_server_str # else: # sql = "SELECT * FROM user_detail" # print sql # result = mysql_util.query(sql) # if channel_server_str: old_log_dict = dat_log_util.read_file_dict_with_filename("USER_DETAIL", search_end_date, server_id, 'tables') if register_start_date and register_end_date: new_log_dict = dict() for uid, detail in old_log_dict.items(): if register_start_date <= detail['install'] <= register_end_date: new_log_dict[uid] = detail else: new_log_dict = old_log_dict user_num_dict = dict() lost_user_num_dict = dict() arrive_user_num = dict() for dat in new_log_dict.values(): cur_lv = dat['level'] user_num_dict[cur_lv] = user_num_dict.get(cur_lv, 0) + 1 if dat['last_play_time'].date() < (search_end_date - datetime.timedelta(days=3)): lost_user_num_dict[cur_lv] = lost_user_num_dict.get(cur_lv, 0) + 1 for _table_lv in xrange(1, 121): arrive_num = sum([user_num_dict.get(lv, 0) for lv in xrange(_table_lv, 121)]) arrive_user_num[_table_lv] = arrive_num # 获取所有等级停留人数 table_row_lst = [] for _table_lv in xrange(1, 121): level_recharge_lst = daily_log_dat.get_recharge_lst_with_user_level(total_recharge_log_lst, _table_lv) recharge_uid_lst = daily_log_dat.get_user_uid_lst(level_recharge_lst) # 停留人数 user_num = user_num_dict.get(_table_lv, 0) # 流失人数 lost_num = lost_user_num_dict.get(_table_lv, 0) # 留存人数 stand_num = user_num - lost_num # 到达等级人数 arrive_num = arrive_user_num[_table_lv] # 充值金额 recharge_money = daily_log_dat.get_recharge_total_money(level_recharge_lst) # 充值次数 recharge_num = len(level_recharge_lst) # 充值人数 recharge_user_num = len(recharge_uid_lst) # 等级付费率 level_pay_rate = _get_level_pay_rate(recharge_user_num, arrive_num) # 等级流失率 流失人数/到达人数 level_lost_rate = _get_level_lost_rate(lost_num, arrive_num) content = [_table_lv, user_num, stand_num, lost_num, arrive_num, recharge_money, recharge_num, recharge_user_num, str(level_pay_rate * 100) + "%", str(level_lost_rate * 100) + "%"] table_row_lst.append(content) return table_row_lst