def get_table(search_date, channel_id=-1, cur_server=-1): # new_log_lst = daily_log_dat.get_new_log_lst(search_date, search_date) #获取全部新手引导日志 all_newbie_log_lst = dat_log_util.read_file(game_define.EVENT_ACTION_FINISH_NEWBIE, search_date, search_date, cur_server) # print all_newbie_log_lst if channel_id >= 0: all_newbie_log_lst = daily_log_dat.filter_logs(all_newbie_log_lst, function=lambda x: x['platform_id'] == channel_id) if cur_server >= 0: all_newbie_log_lst = daily_log_dat.filter_logs(all_newbie_log_lst, function=lambda x: x['server_id'] == cur_server) # 总共5个引导步骤 (1-6) total_user = daily_log_dat.get_set_num_with_key(all_newbie_log_lst, 'uid') complete_user_dict = dict() newbie_name = [u'第一场战斗', u'抽取宝贝球', u'加入队伍', u'自动战斗', u'每日任务'] for i in xrange(1, 6): # 当前引导的所有日志 guide_index_log_lst = daily_log_dat.filter_logs(all_newbie_log_lst, function=lambda x: x['newbie_id'] == i) complete_user_num = daily_log_dat.get_set_num_with_key(guide_index_log_lst, 'uid') complete_user_dict[i] = complete_user_num table_result = [] for i in xrange(1, 6): next_num = complete_user_dict.get(i+1,0) row = [ i, newbie_name[i-1], complete_user_dict[i], # 完成人数 ] table_result.append(row) return table_result
def get_table(from_date, to_date, channel_id=-1, server_id=-1): """ 获取在线表数据 """ dis_minute = 5 # 5分钟间隔 from_datetime = datetime.datetime.strptime(str(from_date), '%Y-%m-%d') to_datetime = datetime.datetime.strptime(str(to_date), '%Y-%m-%d') new_log_lst = daily_log_dat.get_new_log_lst(from_datetime.date(), to_datetime.date()) 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) total_line = int((to_datetime - from_datetime).total_seconds() / (dis_minute * 60)) row_lst = [] for line in xrange(total_line): row = [] get_start_datetime = from_datetime + datetime.timedelta(minutes=dis_minute * line) get_end_datetime = get_start_datetime + datetime.timedelta(minutes=dis_minute) cur_user_num = daily_log_dat.get_set_num_with_key(new_log_lst, 'uid', function=lambda log: get_start_datetime <= log['log_time'] <= get_end_datetime) row.append(get_end_datetime.strftime("%Y-%m-%d %H:%M:%S")) row.append(cur_user_num) row_lst.append(row) return row_lst
def get_table(search_date, channel_id=-1, cur_server=-1): # new_log_lst = daily_log_dat.get_new_log_lst(search_date, search_date) # #获取全部新手引导日志 # all_guide_log_lst = daily_log_dat.filter_logs(new_log_lst, action=game_define.EVENT_ACTION_FINISH_GUIDE) all_guide_log_lst = dat_log_util.read_file( game_define.EVENT_ACTION_FINISH_GUIDE, search_date, search_date, cur_server) # print all_guide_log_lst if channel_id >= 0: all_guide_log_lst = daily_log_dat.filter_logs( all_guide_log_lst, function=lambda x: x['platform_id'] == channel_id) if cur_server >= 0: all_guide_log_lst = daily_log_dat.filter_logs( all_guide_log_lst, function=lambda x: x['server_id'] == cur_server) # 总共5个引导步骤 (1-6) total_user = daily_log_dat.get_set_num_with_key(all_guide_log_lst, 'uid') complete_user_dict = dict() guide_name = [ u'宠物升级突破_4级开启', u'宠物升星_17级开启', u'宠物进化_10级开启', u'宠物技能升级_13级开启', u'宠物洗练_30级开启', u'宠物装备强化_23级开启', u'新队伍位置_6级开启' ] # 引导步骤按解锁等级排序 unlock_order = [1, 7, 6, 3, 4, 2, 5] for i in xrange(1, 8): # 当前引导的所有日志 guide_index_log_lst = daily_log_dat.filter_logs( all_guide_log_lst, function=lambda x: x['guide_id'] == i) complete_user_num = daily_log_dat.get_set_num_with_key( guide_index_log_lst, 'uid') complete_user_dict[i] = complete_user_num table_result = [] for i in unlock_order: next_num = complete_user_dict.get(i + 1, 0) row = [ search_date.strftime('%Y-%m-%d'), i, guide_name[i - 1], complete_user_dict[i], # 完成人数 ] table_result.append(row) return table_result
def get_table(register_star_date, register_end_date, channel_id=-1, server_id=-1): """ 新增K日收益统计 """ now_date = datetime.date.today() total_days = (now_date-register_star_date).days+1 all_login_log_lst = [] global ALL_RECHARGE_LOG_LST ALL_RECHARGE_LOG_LST = [] for i in xrange(total_days): search_date = register_star_date+datetime.timedelta(days=i) date_str = "_"+search_date.strftime('%Y%m%d') # 获得查询日期到今天的所有登陆 和 充值数据 login_log_lst = mysql_util.get_role_action_lst('EVENT_ACTION_ROLE_LOGIN'+str(date_str),search_date,search_date, channel_id, server_id,None, None) recharge_log_lst = mysql_util.get_role_action_lst('EVENT_ACTION_RECHARGE_PLAYER'+str(date_str),search_date,search_date, channel_id, server_id,None, None) all_login_log_lst.extend(login_log_lst) ALL_RECHARGE_LOG_LST.extend(recharge_log_lst) # 计算数据 row_days = (register_end_date - register_star_date).days+1 table_lst = [] for _day in xrange(row_days): global ROW_NEW_USER_UID_LST ROW_NEW_USER_UID_LST = [] row_date = register_star_date + datetime.timedelta(days=_day) # 获取新用户 ROW_NEW_USER_UID_LST = daily_log_dat.get_set_with_key(all_login_log_lst, 'uid', function=lambda log: log['install'] == row_date) # 获取新增设备 new_device_num = daily_log_dat.get_set_num_with_key(all_login_log_lst, 'dev_id', function=lambda log: log['install'] == row_date) # 日期 recharge_date_1 = row_date + datetime.timedelta(days=0) recharge_date_2 = row_date + datetime.timedelta(days=1) recharge_date_3 = row_date + datetime.timedelta(days=2) recharge_date_4 = row_date + datetime.timedelta(days=3) recharge_date_5 = row_date + datetime.timedelta(days=4) recharge_date_6 = row_date + datetime.timedelta(days=5) recharge_date_7 = row_date + datetime.timedelta(days=6) recharge_date_15 = row_date + datetime.timedelta(days=14) recharge_date_30 = row_date + datetime.timedelta(days=29) recharge_date_up = row_date + datetime.timedelta(days=29) # 获取充值总额 row = [] row.append(row_date.strftime('%Y-%m-%d')) row.append(new_device_num) row.append(compute_k_days(recharge_date_1)) # 第1日 row.append(compute_k_days(recharge_date_2)) # 第2日 row.append(compute_k_days(recharge_date_3)) # 第3日 row.append(compute_k_days(recharge_date_4)) # 第4日 row.append(compute_k_days(recharge_date_5)) # 第5日 row.append(compute_k_days(recharge_date_6)) # 第6日 row.append(compute_k_days(recharge_date_7)) # 第7日 row.append(compute_k_days(recharge_date_7, _to_days=recharge_date_15)) # 第7~30日 row.append(compute_k_days(recharge_date_15, _to_days=recharge_date_30)) # 第15~30日 row.append(compute_k_days(recharge_date_up, compute='greater')) # 第30日以后 table_lst.append(row) return table_lst
def _get_day_distance_result(desc, recharge_log, first_recharge_log, from_day, to_day=99999): """ 获取行数据 """ #获取 第N天就充值的玩家UID列表 days_recharge_log_lst = daily_log_dat.filter_logs(recharge_log, function=lambda log: from_day <= (log['log_time'].date() - log['install']).days < to_day) days_first_recharge_log_lst = daily_log_dat.filter_logs(first_recharge_log, function=lambda log: from_day <= (log['log_time'].date() - log['install']).days < to_day) # 获取人数 total_user_num = daily_log_dat.get_set_num_with_key(days_recharge_log_lst, 'uid') first_total_user_num = daily_log_dat.get_set_num_with_key(days_first_recharge_log_lst, 'uid') # 获取充值总金额 total_money = daily_log_dat.get_sum_int_with_key(days_recharge_log_lst, 'add_rmb') first_total_money = daily_log_dat.get_sum_int_with_key(days_first_recharge_log_lst, 'add_rmb') # 获取比率 money_rate = _get_money_rate(first_total_money, total_money) user_rate = _get_user_rate(first_total_user_num, total_user_num) return [desc, first_total_user_num, first_total_money, total_user_num, total_money, str((money_rate * 100))+"%", str((user_rate * 100))+"%"]
def get_table(search_date, channel_id=-1, cur_server=-1): # new_log_lst = daily_log_dat.get_new_log_lst(search_date, search_date) # #获取全部新手引导日志 # all_guide_log_lst = daily_log_dat.filter_logs(new_log_lst, action=game_define.EVENT_ACTION_FINISH_GUIDE) all_guide_log_lst = dat_log_util.read_file(game_define.EVENT_ACTION_FINISH_GUIDE, search_date, search_date, cur_server) # print all_guide_log_lst if channel_id >= 0: all_guide_log_lst = daily_log_dat.filter_logs(all_guide_log_lst, function=lambda x: x['platform_id'] == channel_id) if cur_server >= 0: all_guide_log_lst = daily_log_dat.filter_logs(all_guide_log_lst, function=lambda x: x['server_id'] == cur_server) # 总共5个引导步骤 (1-6) total_user = daily_log_dat.get_set_num_with_key(all_guide_log_lst, 'uid') complete_user_dict = dict() guide_name = [u'宠物升级突破_4级开启', u'宠物升星_17级开启', u'宠物进化_10级开启', u'宠物技能升级_13级开启', u'宠物洗练_30级开启', u'宠物装备强化_23级开启', u'新队伍位置_6级开启'] # 引导步骤按解锁等级排序 unlock_order = [1, 7, 6, 3, 4, 2, 5] for i in xrange(1, 8): # 当前引导的所有日志 guide_index_log_lst = daily_log_dat.filter_logs(all_guide_log_lst, function=lambda x: x['guide_id'] == i) complete_user_num = daily_log_dat.get_set_num_with_key(guide_index_log_lst, 'uid') complete_user_dict[i] = complete_user_num table_result = [] for i in unlock_order: next_num = complete_user_dict.get(i+1,0) row = [ search_date.strftime('%Y-%m-%d'), i, guide_name[i-1], complete_user_dict[i], # 完成人数 ] table_result.append(row) return table_result
def get_table(from_date, to_date, channel_id=-1, server_id=-1): """ 获取在线表数据 """ dis_minute = 5 # 5分钟间隔 from_datetime = datetime.datetime.strptime(str(from_date), '%Y-%m-%d') to_datetime = datetime.datetime.strptime(str(to_date), '%Y-%m-%d') new_log_lst = daily_log_dat.get_new_log_lst(from_datetime.date(), to_datetime.date()) 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) total_line = int( (to_datetime - from_datetime).total_seconds() / (dis_minute * 60)) row_lst = [] for line in xrange(total_line): row = [] get_start_datetime = from_datetime + datetime.timedelta( minutes=dis_minute * line) get_end_datetime = get_start_datetime + datetime.timedelta( minutes=dis_minute) cur_user_num = daily_log_dat.get_set_num_with_key( new_log_lst, 'uid', function=lambda log: get_start_datetime <= log[ 'log_time'] <= get_end_datetime) row.append(get_end_datetime.strftime("%Y-%m-%d %H:%M:%S")) row.append(cur_user_num) row_lst.append(row) return row_lst
def get_table(search_start_date, 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 查询结束时间 """ all_stone_shop_log_lst = dat_log_util.read_file( game_define.EVENT_ACTION_STONE_SHOP_BUY, search_start_date, search_end_date, server_id) # if channel_id >= 0: # all_stone_shop_log_lst = daily_log_dat.filter_logs(all_stone_shop_log_lst, function=lambda x: x['platform_id'] == channel_id) # if server_id >= 0: # all_stone_shop_log_lst = daily_log_dat.filter_logs(all_stone_shop_log_lst, function=lambda x: x['server_id'] == server_id) #获取符合条件的日志 if register_start_date and register_end_date: all_stone_shop_log_lst = daily_log_dat.filter_logs( all_stone_shop_log_lst, function=lambda log: register_start_date <= log[ 'install'] <= register_end_date) # print all_stone_shop_log_lst # 全部钻石商城物品购买日志 # print("all_stone_shop_log_lst: "+str(all_stone_shop_log_lst)) # 获取所有钻石商城物品玩家设备 # device_lst = daily_log_dat.get_set_with_key(all_stone_shop_log_lst, 'dev_id') # 获取所有钻石商城物品购买日志玩家UID all_uid_lst = daily_log_dat.get_set_with_key(all_stone_shop_log_lst, 'uid') # 消耗钻石总数 total_cost_stone = daily_log_dat.get_sum_int_with_key( all_stone_shop_log_lst, 'cost_stone') # 根据ID拆分日志 item_logs_dict = dict() for _log in all_stone_shop_log_lst: _item_info = _log['add_item_list'] _item_tid = _item_info[0] if _item_tid in item_logs_dict: item_logs_dict[_item_tid].append(_log) else: lst = [_log] item_logs_dict[_item_tid] = lst table_lst = [] for _item_tid, _log in item_logs_dict.items(): user_num = daily_log_dat.get_set_num_with_key(_log, 'uid') # 购买物品 item_config = game_config.get_item_config(int(_item_tid)) event_log_act = item_config['name'] # 钻石数 cost_stone = daily_log_dat.get_sum_int_with_key(_log, 'cost_stone') # 次数 cost_num = len(_log) # 参与率 take_part_rate = _get_rate(user_num, len(all_uid_lst)) # 钻石比率 first_cost_stone_rate = _get_rate(cost_stone, total_cost_stone) # 人数比率 # cur_user_num_rate = _get_rate(user_num, len(all_uid_lst)) row = [ event_log_act, cost_stone, user_num, cost_num, str(take_part_rate * 100) + "%", str(first_cost_stone_rate * 100) + "%" ] table_lst.append(row) return table_lst
def get_table(search_start_date, search_end_date, channel_id=-1, server_id=-1): """ """ start_log_time = datetime.datetime.strptime(game_define.LOCAL_LOG_START_DATE, '%Y-%m-%d').date() # 总天数 table_lst = [] total_days = (search_end_date - search_start_date).days + 1 for i in xrange(total_days): row_lst = [] # 每行的日期 row_date = search_start_date + datetime.timedelta(days=i) # 获取今天全部日志 today_log_lst = mysql_util.get_role_action_lst('EVENT_ACTION_ROLE_LOGIN',start_log_time,row_date, channel_id, server_id,None, None) # 今日游戏玩家列表 today_login_user = daily_log_dat.get_user_uid_lst(today_log_lst) # 获取玩家时间段分布(5分钟) online_user_uid_lst = daily_log_dat.get_online_user_uid_lst(row_date, today_log_lst, 5) # 当前时间段Index now = datetime.datetime.now() minutes = now.hour * 60 + now.minute cur_online_lst_index = minutes / 5 online_time_result = dat_log_util.read_file_with_filename("USER_ONLINE_TIME",row_date,row_date) print online_time_result # 日期 show_date_str= row_date.strftime('%Y-%m-%d') # 今日总登录用户数 today_login_user_num = daily_log_dat.get_set_num_with_key(today_log_lst, 'uid') # 当前实时在线 cur_online_num = len(online_user_uid_lst[cur_online_lst_index]) # 当日峰值在线 today_max_online_num = _max_online_num_today(online_user_uid_lst) # 5分钟以内 online_5 = _get_online_user_num(online_time_result, 0, 5) # 5-10分钟 online_5_10 = _get_online_user_num(online_time_result, 5, 10) # 10-15分钟 online_10_15 = _get_online_user_num(online_time_result, 10, 15) # 15-20分钟 online_15_20 = _get_online_user_num(online_time_result, 15, 20) # 20-25分钟 online_20_25 = _get_online_user_num(online_time_result, 20, 25) # 25-30分钟 online_25_30 = _get_online_user_num(online_time_result, 25, 30) # 30-35分钟 online_30_35 = _get_online_user_num(online_time_result, 30, 35) # 35-40分钟 online_35_40 = _get_online_user_num(online_time_result, 35, 40) # 40-45分钟 online_40_45 = _get_online_user_num(online_time_result, 40, 45) # 45-50分钟 online_45_50 = _get_online_user_num(online_time_result, 45, 50) # 50-55分钟 online_50_55 = _get_online_user_num(online_time_result, 50, 55) # 55-60分钟 online_55_60 = _get_online_user_num(online_time_result, 55, 60) # 60-90分钟 online_60_90 = _get_online_user_num(online_time_result, 60,90) # 90-120分钟 online_90_120 = _get_online_user_num(online_time_result, 90,120) # 120分钟以上 online_120_99999 = _get_online_user_num(online_time_result, 120, 99999) row_lst.append(show_date_str) row_lst.append(today_login_user_num) row_lst.append(cur_online_num) row_lst.append(today_max_online_num) row_lst.append(online_5) row_lst.append(online_5_10) row_lst.append(online_10_15) row_lst.append(online_15_20) row_lst.append(online_20_25) row_lst.append(online_25_30) row_lst.append(online_30_35) row_lst.append(online_35_40) row_lst.append(online_40_45) row_lst.append(online_45_50) row_lst.append(online_50_55) row_lst.append(online_55_60) row_lst.append(online_60_90) row_lst.append(online_90_120) row_lst.append(online_120_99999) table_lst.append(row_lst) return table_lst
def get_table(register_star_date, register_end_date, channel_id=-1, server_id=-1): """ 新增K日收益统计 """ now_date = datetime.date.today() total_days = (now_date - register_star_date).days + 1 all_login_log_lst = [] global ALL_RECHARGE_LOG_LST ALL_RECHARGE_LOG_LST = [] for i in xrange(total_days): search_date = register_star_date + datetime.timedelta(days=i) date_str = "_" + search_date.strftime('%Y%m%d') # 获得查询日期到今天的所有登陆 和 充值数据 login_log_lst = mysql_util.get_role_action_lst( 'EVENT_ACTION_ROLE_LOGIN' + str(date_str), search_date, search_date, channel_id, server_id, None, None) recharge_log_lst = mysql_util.get_role_action_lst( 'EVENT_ACTION_RECHARGE_PLAYER' + str(date_str), search_date, search_date, channel_id, server_id, None, None) all_login_log_lst.extend(login_log_lst) ALL_RECHARGE_LOG_LST.extend(recharge_log_lst) # 计算数据 row_days = (register_end_date - register_star_date).days + 1 table_lst = [] for _day in xrange(row_days): global ROW_NEW_USER_UID_LST ROW_NEW_USER_UID_LST = [] row_date = register_star_date + datetime.timedelta(days=_day) # 获取新用户 ROW_NEW_USER_UID_LST = daily_log_dat.get_set_with_key( all_login_log_lst, 'uid', function=lambda log: log['install'] == row_date) # 获取新增设备 new_device_num = daily_log_dat.get_set_num_with_key( all_login_log_lst, 'dev_id', function=lambda log: log['install'] == row_date) # 日期 recharge_date_1 = row_date + datetime.timedelta(days=0) recharge_date_2 = row_date + datetime.timedelta(days=1) recharge_date_3 = row_date + datetime.timedelta(days=2) recharge_date_4 = row_date + datetime.timedelta(days=3) recharge_date_5 = row_date + datetime.timedelta(days=4) recharge_date_6 = row_date + datetime.timedelta(days=5) recharge_date_7 = row_date + datetime.timedelta(days=6) recharge_date_15 = row_date + datetime.timedelta(days=14) recharge_date_30 = row_date + datetime.timedelta(days=29) recharge_date_up = row_date + datetime.timedelta(days=29) # 获取充值总额 row = [] row.append(row_date.strftime('%Y-%m-%d')) row.append(new_device_num) row.append(compute_k_days(recharge_date_1)) # 第1日 row.append(compute_k_days(recharge_date_2)) # 第2日 row.append(compute_k_days(recharge_date_3)) # 第3日 row.append(compute_k_days(recharge_date_4)) # 第4日 row.append(compute_k_days(recharge_date_5)) # 第5日 row.append(compute_k_days(recharge_date_6)) # 第6日 row.append(compute_k_days(recharge_date_7)) # 第7日 row.append(compute_k_days(recharge_date_7, _to_days=recharge_date_15)) # 第7~30日 row.append(compute_k_days(recharge_date_15, _to_days=recharge_date_30)) # 第15~30日 row.append(compute_k_days(recharge_date_up, compute='greater')) # 第30日以后 table_lst.append(row) return table_lst
def get_table(search_start_date, search_end_date, channel_id=-1, server_id=-1): """ """ start_log_time = datetime.datetime.strptime( game_define.LOCAL_LOG_START_DATE, '%Y-%m-%d').date() # 总天数 table_lst = [] total_days = (search_end_date - search_start_date).days + 1 for i in xrange(total_days): row_lst = [] # 每行的日期 row_date = search_start_date + datetime.timedelta(days=i) # 获取今天全部日志 today_log_lst = mysql_util.get_role_action_lst( 'EVENT_ACTION_ROLE_LOGIN', start_log_time, row_date, channel_id, server_id, None, None) # 今日游戏玩家列表 today_login_user = daily_log_dat.get_user_uid_lst(today_log_lst) # 获取玩家时间段分布(5分钟) online_user_uid_lst = daily_log_dat.get_online_user_uid_lst( row_date, today_log_lst, 5) # 当前时间段Index now = datetime.datetime.now() minutes = now.hour * 60 + now.minute cur_online_lst_index = minutes / 5 online_time_result = dat_log_util.read_file_with_filename( "USER_ONLINE_TIME", row_date, row_date) print online_time_result # 日期 show_date_str = row_date.strftime('%Y-%m-%d') # 今日总登录用户数 today_login_user_num = daily_log_dat.get_set_num_with_key( today_log_lst, 'uid') # 当前实时在线 cur_online_num = len(online_user_uid_lst[cur_online_lst_index]) # 当日峰值在线 today_max_online_num = _max_online_num_today(online_user_uid_lst) # 5分钟以内 online_5 = _get_online_user_num(online_time_result, 0, 5) # 5-10分钟 online_5_10 = _get_online_user_num(online_time_result, 5, 10) # 10-15分钟 online_10_15 = _get_online_user_num(online_time_result, 10, 15) # 15-20分钟 online_15_20 = _get_online_user_num(online_time_result, 15, 20) # 20-25分钟 online_20_25 = _get_online_user_num(online_time_result, 20, 25) # 25-30分钟 online_25_30 = _get_online_user_num(online_time_result, 25, 30) # 30-35分钟 online_30_35 = _get_online_user_num(online_time_result, 30, 35) # 35-40分钟 online_35_40 = _get_online_user_num(online_time_result, 35, 40) # 40-45分钟 online_40_45 = _get_online_user_num(online_time_result, 40, 45) # 45-50分钟 online_45_50 = _get_online_user_num(online_time_result, 45, 50) # 50-55分钟 online_50_55 = _get_online_user_num(online_time_result, 50, 55) # 55-60分钟 online_55_60 = _get_online_user_num(online_time_result, 55, 60) # 60-90分钟 online_60_90 = _get_online_user_num(online_time_result, 60, 90) # 90-120分钟 online_90_120 = _get_online_user_num(online_time_result, 90, 120) # 120分钟以上 online_120_99999 = _get_online_user_num(online_time_result, 120, 99999) row_lst.append(show_date_str) row_lst.append(today_login_user_num) row_lst.append(cur_online_num) row_lst.append(today_max_online_num) row_lst.append(online_5) row_lst.append(online_5_10) row_lst.append(online_10_15) row_lst.append(online_15_20) row_lst.append(online_20_25) row_lst.append(online_25_30) row_lst.append(online_30_35) row_lst.append(online_35_40) row_lst.append(online_40_45) row_lst.append(online_45_50) row_lst.append(online_50_55) row_lst.append(online_55_60) row_lst.append(online_60_90) row_lst.append(online_90_120) row_lst.append(online_120_99999) table_lst.append(row_lst) return table_lst