Example #1
0
    def write_behavior_attend(self, date_pair, stat_base, sheet_name):
        new_sheet = self.xls_writer.new_sheet(sheet_name, self.wbk)
        new_sheet.col(0).width = 256 * 20
        line_num = [0]

        res_dict = self.get_behavior_attend([0, 0], date_pair, stat_base)
        write_standard_form(res_dict, new_sheet, line_num, self.style)
        line_num[0] += 1

        res_dict = self.get_behavior_attend([1, 3], date_pair, stat_base)
        write_standard_form(res_dict, new_sheet, line_num, self.style)
        line_num[0] += 1

        res_dict = self.get_behavior_attend([4, 8], date_pair, stat_base)
        write_standard_form(res_dict, new_sheet, line_num, self.style)
        line_num[0] += 1

        res_dict = self.get_behavior_attend([9, 12], date_pair, stat_base)
        write_standard_form(res_dict, new_sheet, line_num, self.style)
        line_num[0] += 1

        res_dict = self.get_behavior_attend([13, 15], date_pair, stat_base)
        write_standard_form(res_dict, new_sheet, line_num, self.style)
        line_num[0] += 1
        pass
Example #2
0
    def execute(self, uid_list, start_date, end_date, *cycle):
        file_name = ConfParameters.ConfParameters(
        ).save_path + 'Periodic_Vip_' + start_date + '-' + end_date + '.xls'
        if len(cycle) > 0:
            [res_dict_money,
             res_dict_vip] = self.get_periodic_vip(uid_list, start_date,
                                                   end_date, cycle[0])
        else:
            [res_dict_money,
             res_dict_vip] = self.get_periodic_vip(uid_list, start_date,
                                                   end_date)

        msg = '*周期:' + str(str(self.cycle)) + '天'
        new_sheet = self.xls_writer.new_sheet('周期付费计算表-按实际付费金额', self.wbk)
        new_sheet.col(0).width = 256 * 20
        line_num = [0]
        write_standard_form(res_dict_money, new_sheet, line_num, self.style)
        self.xls_writer.insert_xls([msg], new_sheet, line_num)
        new_sheet1 = self.xls_writer.new_sheet('周期付费计算表-按折算VIP', self.wbk)
        new_sheet1.col(0).width = 256 * 20
        line_num1 = [0]
        write_standard_form(res_dict_vip, new_sheet1, line_num1, self.style)
        self.xls_writer.insert_xls([msg], new_sheet1, line_num1)
        self.wbk.save(file_name)
        self.db.close()
 def write_ship_info(self):
     res_dict = get_ship_info(self.input_dict)
     new_sheet = self.xls_writer.new_sheet('阵容信息', self.wbk)
     new_sheet.col(0).width = 256 * 20
     new_sheet.col(1).width = 256 * 20
     line_num = [0]
     write_standard_form(res_dict, new_sheet, line_num, self.style)
 def write_module_time(self):
     res_dict = get_module_time_cost(self.input_dict)
     new_sheet = self.xls_writer.new_sheet('模块时长', self.wbk)
     new_sheet.col(0).width = 256 * 20
     new_sheet.col(1).width = 256 * 20
     line_num = [0]
     write_standard_form(res_dict, new_sheet, line_num, self.style)
 def __general_report(self):
     res_dict = general_report(self.input_dict)
     if res_dict is not None:
         new_sheet = self.xls_writer.new_sheet('概览', self.wbk)
         new_sheet.col(0).width = 256 * 20
         line_num = [0]
         write_standard_form(res_dict, new_sheet, line_num, self.style)
     pass
 def __user_guidance(self):
     res_dict = user_guidance(self.input_dict, 6, self.reg_stat_base)
     # print(res_dict)
     if res_dict is not None:
         new_sheet = self.xls_writer.new_sheet('新用户等级与通过率', self.wbk)
         new_sheet.col(0).width = 256 * 20
         line_num = [0]
         write_standard_form(res_dict, new_sheet, line_num, self.style)
 def write_item_buy(self):
     res_raw = get_item_buy(self.input_dict)
     new_sheet = self.xls_writer.new_sheet('商品购买', self.wbk)
     new_sheet.col(0).width = 256 * 20
     new_sheet.col(1).width = 256 * 20
     new_sheet.col(2).width = 256 * 20
     line_num = [0]
     write_standard_form(res_raw, new_sheet, line_num, self.style)
 def __event_login(self):
     res_dict = event_login(self.input_dict, self.reg_stat_base)
     # print(res_dict)
     if res_dict is not None:
         new_sheet = self.xls_writer.new_sheet('启动加载项', self.wbk)
         new_sheet.col(0).width = 256 * 20
         line_num = [0]
         write_standard_form(res_dict, new_sheet, line_num, self.style)
 def write_behavior_attend(self):
     [res_raw, res_ratio] = get_module_attend_rate(self.input_dict)
     new_sheet = self.xls_writer.new_sheet('各玩法参与度', self.wbk)
     new_sheet.col(0).width = 256 * 20
     new_sheet.col(1).width = 256 * 20
     line_num = [0]
     write_standard_form(res_raw, new_sheet, line_num, self.style)
     line_num[0] += 1
     write_standard_form(res_ratio, new_sheet, line_num, self.style)
 def write_tech_info(self):
     res_dict = tech_people(self.input_dict)
     new_sheet = self.xls_writer.new_sheet('最大日期科技人数', self.wbk)
     new_sheet.col(0).width = 256 * 20
     new_sheet.col(1).width = 256 * 20
     line_num = [0]
     write_standard_form(res_dict, new_sheet, line_num, self.style)
     line_num[0] += 1
     res_dict = tech_avglevel(self.input_dict)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
 def write_shopexchange(self):
     shopidlist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
     new_sheet = self.xls_writer.new_sheet('商场购买', self.wbk)
     new_sheet.col(0).width = 256 * 20
     new_sheet.col(1).width = 256 * 20
     line_num = [0]
     for i in shopidlist:
         res_dict = shop_exchange(self.input_dict, i)
         write_standard_form(res_dict, new_sheet, line_num, self.style)
         line_num[0] += 1
 def __online_time(self):
     res_dict_list = online_time(self.input_dict, self.act_stat_base,
                                 self.pay_base, self.current_rate,
                                 *self.levellist)
     if res_dict_list is not None:
         new_sheet = self.xls_writer.new_sheet('人均在线时长', self.wbk)
         new_sheet.col(0).width = 256 * 20
         line_num = [0]
         for i in res_dict_list:
             write_standard_form(i, new_sheet, line_num, self.style)
             line_num[0] += 2
Example #13
0
def execute(start_date, end_date):
    log = LogQuery(start_date, end_date)
    files = log.event_file_str()
    # by time
    # cmd = 'grep -h -s \'context:0-battleError_\' ' + files + '|grep -v \'chanel:1077\'|awk -F \',\' \'{OFS=\" \";print $1,$4}\'|awk -F \' \' \'{OFS=\",\";print substr($2,1,4),$3}\'|awk -F \',\' \'{sum[$1\",\"$2]=sum[$1\",\"$2]+1} END {OFS=\",\";for(i in sum)print i,sum[i]}\''
    # by date
    # cmd = 'grep -h -s \'context:0-battleError_\' ' + files + '|grep -v \'chanel:1077\'|awk -F \',\' \'{OFS=\" \";print $1,$4}\'|awk -F \' \' \'{OFS=\",\";print $1,$3}\'|awk -F \',\' \'{sum[$1\",\"$2]=sum[$1\",\"$2]+1} END {OFS=\",\";for(i in sum)print i,sum[i]}\''
    # xianfeng only
    cmd = 'grep -h -s \'context:0-battleError_\' ' + files + '|grep \'chanel:1077\'|awk -F \',\' \'{OFS=\" \";print $1,$4}\'|awk -F \' \' \'{OFS=\",\";print $1,$3}\'|awk -F \',\' \'{sum[$1\",\"$2]=sum[$1\",\"$2]+1} END {OFS=\",\";for(i in sum)print i,sum[i]}\''
    print(cmd)
    result = log.cmd_compute(cmd)
    time_list = list()
    error_type = list()
    data_dict = dict()
    for line in result:
        line = line.strip()
        array = line.split(',')
        time0 = array[0]
        error = array[1]
        count = int(array[2])
        if time0 not in time_list:
            time_list.append(time0)
        if error not in error_type:
            error_type.append(error)
        if error not in data_dict.keys():
            data_dict[error] = dict()
        data_dict[error][time0] = count
    time_list = sorted(time_list)
    error_type = sorted(error_type)
    print('time_list:' + str(len(time_list)))
    print('error_type:' + str(len(error_type)))

    res_data_raw = dict()
    res_data_raw['data_dict'] = data_dict
    res_data_raw['X_list'] = time_list
    res_data_raw['Y_list'] = error_type
    res_data_raw['default_value'] = 0
    res_data_raw['head_name'] = 'BATTLE_ERROR'
    res_data_raw['note'] = '*时时战斗报错,统计时间:' + start_date + '-' + end_date

    file_name = ConfParameters(
    ).save_path + 'BATTLE_ERROR_' + start_date + '-' + end_date + '.xls'

    wbk = xlwt.Workbook()
    xls_writer = EasyXls()
    style = xlwt.XFStyle()
    style.borders = xls_writer.borders

    new_sheet = xls_writer.new_sheet('BATTLE_ERROR', wbk)
    new_sheet.col(0).width = 256 * 20
    line_num = [0]
    write_standard_form(res_data_raw, new_sheet, line_num, style)

    wbk.save(file_name)
 def write_diamond_cost(self):
     res_dict = get_diamond_times(self.input_dict)
     new_sheet = self.xls_writer.new_sheet('钻石消耗', self.wbk)
     new_sheet.col(0).width = 256 * 20
     new_sheet.col(1).width = 256 * 20
     line_num = [0]
     res_dict = get_diamond_people(self.input_dict)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
     line_num[0] += 1
     # res_dict = get_diamond_times(self.input_dict)
     # write_standard_form(res_dict, new_sheet, line_num, self.style)
     line_num[0] += 1
     res_dict = get_diamond_cost(self.input_dict)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
Example #15
0
 def write_xls(self):
     sheet_name = '日本_等级差异'
     new_sheet = self.xls_writer.new_sheet(sheet_name, self.wbk)
     new_sheet.col(0).width = 256 * 20
     line_num = [0]
     res_dict = self.get_battle_info('level', self.stat_jp, sheet_name)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
     sheet_name = '日本_VIP差异'
     new_sheet = self.xls_writer.new_sheet(sheet_name, self.wbk)
     new_sheet.col(0).width = 256 * 20
     line_num = [0]
     res_dict = self.get_battle_info('vip_level', self.stat_jp, sheet_name)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
     sheet_name = '台湾_等级差异'
     new_sheet = self.xls_writer.new_sheet(sheet_name, self.wbk)
     new_sheet.col(0).width = 256 * 20
     line_num = [0]
     res_dict = self.get_battle_info('level', self.stat_tw, sheet_name)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
     sheet_name = '台湾_VIP差异'
     new_sheet = self.xls_writer.new_sheet(sheet_name, self.wbk)
     new_sheet.col(0).width = 256 * 20
     line_num = [0]
     res_dict = self.get_battle_info('vip_level', self.stat_tw, sheet_name)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
Example #16
0
 def run_xls(self, date_list, res_dict_list_old, res_dict_list_new):
     new_sheet = self.xls_writer.new_sheet(
         str(date_list[0]) + '期', self.wbk)
     new_sheet.col(0).width = 256 * 20
     new_sheet.col(1).width = 256 * 20
     line_num = [0]
     #增加写入情况
     for i in range(len(res_dict_list_old)):
         write_standard_form(res_dict_list_old[i], new_sheet, line_num,
                             self.style)
         line_num[0] += 2
     for i in range(len(res_dict_list_new)):
         write_standard_form(res_dict_list_new[i], new_sheet, line_num,
                             self.style)
         line_num[0] += 2
    def write_vip_level(self):
        self.input_dict['channel_list'] = ['112003']
        res_dict = vip_level(self.input_dict)
        new_sheet = self.xls_writer.new_sheet('最大日期VIP等级信息-112003', self.wbk)
        new_sheet.col(0).width = 256 * 20
        line_num = [0]
        write_standard_form(res_dict, new_sheet, line_num, self.style)

        self.input_dict['channel_list'] = ['212003']
        res_dict = vip_level(self.input_dict)
        new_sheet = self.xls_writer.new_sheet('最大日期VIP等级信息-212003', self.wbk)
        new_sheet.col(0).width = 256 * 20
        line_num = [0]
        write_standard_form(res_dict, new_sheet, line_num, self.style)
        self.input_dict['channel_list'] = []
 def write_dailydiscount(self):
     res_dict = everyday_buy_people(self.input_dict)
     new_sheet = self.xls_writer.new_sheet('每日折扣', self.wbk)
     new_sheet.col(0).width = 256 * 20
     new_sheet.col(1).width = 256 * 20
     line_num = [0]
     # write_standard_form(res_dict1, new_sheet, line_num, self.style)
     # line_num[0] += 1
     # res_dict2 = everyday_buy(self.input_dict, 2)
     # write_standard_form(res_dict2, new_sheet, line_num, self.style)
     # line_num[0] += 1
     # res_dict3 = everyday_buy(self.input_dict, 3)
     # write_standard_form(res_dict3, new_sheet, line_num, self.style)
     # line_num[0] += 1
     # res_dict4 = everyday_active(self.input_dict)
     # write_standard_form(res_dict4, new_sheet, line_num, self.style)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
     line_num[0] += 1
     res_dict = everyday_buy_times(self.input_dict)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
 def __life_time(self):
     [
         res_dict, res_dict_remain, res_dict_remain_ratio, res_dict_lost,
         res_dict_lost_life
     ] = life_time_compute(self.input_dict, self.levellist)
     new_sheet = self.xls_writer.new_sheet('用户生命周期', self.wbk)
     new_sheet.col(0).width = 256 * 20
     line_num = [0]
     write_standard_form(res_dict, new_sheet, line_num, self.style)
     line_num[0] += 2
     write_standard_form(res_dict_remain, new_sheet, line_num, self.style)
     line_num[0] += 2
     write_standard_form(res_dict_remain_ratio, new_sheet, line_num,
                         self.style)
     line_num[0] += 2
     write_standard_form(res_dict_lost, new_sheet, line_num, self.style)
     line_num[0] += 2
     write_standard_form(res_dict_lost_life, new_sheet, line_num,
                         self.style)
     line_num[0] += 2
Example #20
0
 def run_xls(self,date_list,res_dict_list1,res_dict_list2,res_dict_list3,res_dict_list4,str1):
     new_sheet = self.xls_writer.new_sheet(str(date_list[0])+'期'+str1, self.wbk)
     new_sheet.col(0).width = 256 * 20
     new_sheet.col(1).width = 256 * 20
     line_num = [0]
     #增加写入情况
     for i in range(len(res_dict_list1)):
         write_standard_form(res_dict_list1[i],new_sheet,line_num,self.style)
         line_num[0]+=2
     for i in range(len(res_dict_list2)):
         write_standard_form(res_dict_list2[i],new_sheet,line_num,self.style)
         line_num[0]+=2
     for i in range(len(res_dict_list3)):
         write_standard_form(res_dict_list3[i],new_sheet,line_num,self.style)
         line_num[0]+=2
     for i in range(len(res_dict_list4)):
         write_standard_form(res_dict_list4[i],new_sheet,line_num,self.style)
         line_num[0]+=2
 def write_buy_oil(self):
     res_dict = buy_oil_people(self.input_dict)
     new_sheet = self.xls_writer.new_sheet('原油购买', self.wbk)
     new_sheet.col(0).width = 256 * 20
     line_num = [0]
     write_standard_form(res_dict, new_sheet, line_num, self.style)
     line_num[0] += 1
     res_dict = buy_oil_times(self.input_dict)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
     line_num[0] += 1
     res_dict = buy_oil_diamond(self.input_dict)
     write_standard_form(res_dict, new_sheet, line_num, self.style)
    def __pay_motivation(self):
        res_dict, res_pay_users, res_pay_money = pay_motivation(
            self.input_dict, self.levellist)
        if res_dict is not None:
            new_sheet = self.xls_writer.new_sheet('付费激励', self.wbk)
            new_sheet.col(0).width = 256 * 20
            line_num = [0]
            write_standard_form(res_dict, new_sheet, line_num, self.style)

            line_num[0] = line_num[0] + 2
            write_standard_form(res_pay_users, new_sheet, line_num, self.style)

            line_num[0] = line_num[0] + 2
            write_standard_form(res_pay_money, new_sheet, line_num, self.style)
        pass