Example #1
0
    def courseExamQuestionGenerator(self, course_path_info):
        self.excel_reader.filepath = course_path_info.examquestion_source_xlsx_filepath
        self.excel_reader.sheet_scope_indexes = [0]
        # 定义一个question对象

        #self.excel_reader.column_scope_names = [u'题目内容', u'选项A', u'选项B', u'选项C', u'选项D', u'选项E', u'答案',u'试题编号',u'题型名称',u'试题类别',u'难度', u'标注知识点']
        self.excel_reader.column_scope_names = QuestionInformation.column_head_dict
        QuestionInformation.resetColumnValue()
        excel_content_rows = self.excel_reader.readFile()
        self.exam_info.initByRows(excel_content_rows)

        # 语料用的文件
        self.createCorpusFile(course_path_info)
        # 生成excel试题文件, 正式跑的时候,不用该方法
        if self.isTest:
            self.createExcelFile()
    def createGoodResult2Excel4PersonCheck(self, course_path_info_list):
        """
        # 将好的结果输出excel,让人工进行审核
        :param course_path_info: 
        :return: 
        """
        # 将知识点和试题关联起来
        column_data_list = []
        column_data_list.append(QuestionInformation.getGoodCorrelationData())
        exam_index = 1
        for course_path_info in course_path_info_list:
            course = course_path_info.course
            if not self.exam_info.examquestion_dict.__contains__(course):
                continue

            exam_question_list = self.exam_info.examquestion_dict.get(course)

            for exam_question in exam_question_list:
                knowledge_list = exam_question.knowledge_list
                k_index = 1
                for k in knowledge_list:
                    if isinstance(k, str):
                        if len(k.strip()) == 0:
                            continue
                        kname = k
                        kscore = u''
                    else:
                        if k.score < 0.45:
                            continue
                        kscore = k.score
                        kname = k.text
                    kscore = u'{}%'.format(round(kscore * 100, 2))
                    row = []
                    if k_index == 1:
                        exam_index_unicode = UnicodeConvertor.numToUnicode(
                            exam_index)
                        row.append(exam_index_unicode)
                        row.append(exam_question.getOnlyContentAndAnswer())
                    else:
                        row.append(u'')
                        row.append(u'')
                    row.append(kname)
                    row.append(kscore)
                    row.append(u'')
                    row.append(u'')
                    row.append(u'')

                    column_data_list.append(row)
                    k_index += 1

                exam_index += 1
            # 一个课程完
        # 一组课程完
        sheet_datas = {}
        sheet_datas['sheet1'] = column_data_list
        ExcelWriter.writeExcelFile(
            course_path_info_list[0].correlation_good_xls_filepath,
            sheet_datas)
        print 'Excel文件:{}已生成'.format(
            course_path_info_list[0].course.coursebase_name)
Example #3
0
 def __init__(self):
     """
     定义变量
     """
     self.excel_reader = ExcelReader.ExcelReader()
     self.course_info = None
     self.exam_info = QuestionInformation.ExamquestionDictionary()
     self.rootpath = u'./../../data/course-knowledge-machine/20181122-200plus'
     self.isTest = False