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)