| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | from excel_util import ExcelUtilfrom mysql_db import MysqlDBclass TongCe:    """        同策测试数据清洗    """    # 统计筒体结果    sql_1 = '''        SELECT			b.father_id,			b.father_content,            a.sub_question_id,            b.sub_question_content,            a.score,            b.sub_option_content,            count(1)        FROM            f_t_daren_score_2 a        LEFT JOIN d_shangju_tiku_02 b ON a. STATUS = b. STATUS = 1        WHERE            a.testcase_id in (84, 85, 86, 87) and            a.testcase_id = b.testcase_id        AND a.sub_question_id = b.sub_question_id        AND (            a.score = b.score            OR a.score = b.sub_option_id        )        GROUP BY			b.father_id,            a.sub_question_id,            b.sub_question_content,            a.score,            b.sub_option_content    '''    # 选项信息    sql_2 = '''          SELECT            b.id as question_id,            b. NAME as question_title,            a.id as sub_question_id,            a. NAME as sub_question_title,            d.id as option_id,            d.content as option_title,            c.id as sub_option_id,            c.content as sub_option_title        FROM            bq_sub_question a        LEFT JOIN bq_question b ON a.father_id = b.id                LEFT JOIN bq_sub_option c ON a.id = c.sub_question_id        LEFT JOIN bq_option d ON c.father_id = d.id        WHERE            FIND_IN_SET(                a.id,                (                    SELECT                        GROUP_CONCAT(question_ids)                    FROM                        bq_testcase                    WHERE                        house_ids = %s                    GROUP BY                        house_ids                )            )        AND a. STATUS = b. STATUS = c. STATUS = 1        ORDER BY            a.id    '''    def __init__(self):        self.shangju_db = MysqlDB('shangju')        self.marketing_db = MysqlDB('bi_report')        self.linshi_db = MysqlDB('linshi', db_type=1)        self.options_info = ExcelUtil('工作表6', 'tongce.xlsx').read_options_info()    def get_question_info_from_db(self):        result = self.shangju_db.select(self.sql_2, [67])        insert_data = []        for rt in result:            option_configuration = self.options_info.get('67' + str(rt[6]))            if option_configuration and len(option_configuration) == 3:                rt.extend(option_configuration)                insert_data.append(rt)        return result    pass
 |