Ejemplo n.º 1
0
    def loadDataSet(self):
        if not os.path.isfile(self.surveyDataFilePath):
            raise OSError("Could not find the survey file: {0}".format(self.surveyDataFilePath))

        with open(self.surveyDataFilePath, 'r') as file:
            csvReader = csv.reader(file, delimiter=',')
            for i, row in enumerate(csvReader):
                if i < 3: # Skip header
                    pass
                else:
                    participant_id = row[COLNUM_PARTICIPANT_ID]

                    feature_classification_answer = []
                    feature_classification_confidence = []
                    feature_comparison_answer = []
                    feature_comparison_confidence = []
                    design_classification_answer = []
                    design_classification_confidence = []
                    design_comparison_answer = []
                    design_comparison_confidence = []

                    for j in range(NUM_FEATURE_CL_QUESTION * 2):
                        val = row[COLNUM_FEATURE_CL_QUESTION + j]
                        if val == '':
                            raise ValueError()
                        val = int(val)

                        if j % 2 == 0:
                            feature_classification_answer.append(val)
                        else:
                            feature_classification_confidence.append(val)

                    for j in range(NUM_FEATURE_PWC_QUESTION * 2):
                        val = row[COLNUM_FEATURE_PWC_QUESTION + j]
                        if val == '':
                            raise ValueError()
                        val = int(val)

                        if j % 2 == 0:
                            feature_comparison_answer.append(val)
                        else:
                            feature_comparison_confidence.append(val)

                    for j in range(NUM_DESIGN_CL_QUESTION * 2):
                        val = row[COLNUM_DESIGN_CL_QUESTION + j]
                        if val == '':
                            raise ValueError()
                        val = int(val)

                        if j % 2 == 0:
                            design_classification_answer.append(val)
                        else:
                            design_classification_confidence.append(val)

                    for j in range(NUM_DESIGN_PWC_QUESTION * 2):
                        val = row[COLNUM_DESIGN_PWC_QUESTION + j]
                        if val == '':
                            raise ValueError()
                        val = int(val)

                        if j % 2 == 0:
                            design_comparison_answer.append(val)
                        else:
                            design_comparison_confidence.append(val)

                    s = Subject(self.jsonFilesRootPath, participant_id)
                    s.feature_classification_answer = feature_classification_answer
                    s.feature_classification_confidence = feature_classification_confidence
                    s.feature_comparison_answer = feature_comparison_answer
                    s.feature_comparison_confidence = feature_comparison_confidence
                    s.design_classification_answer = design_classification_answer
                    s.design_classification_confidence = design_classification_confidence
                    s.design_comparison_answer = design_comparison_answer
                    s.design_comparison_confidence = design_comparison_confidence








                    # # Column numbers: Other survey
                    # COLNUM_SELF_ASSESSMENT = 92 - 1
                    # COLNUM_FEATURE_PREFERENCE = 96 - 1



                    s.age = row[COLNUM_AGE]
                    s.gender = row[COLNUM_GENDER]
                    s.major = row[COLNUM_MAJOR]
                    s.prior_experience = row[COLNUM_PRIOR_EXPERIENCE]
                    self.subjects.append(s)