def create_student_data(sid_list, student_question_list, test, group): if test == 'pre_test' or test == 'post_test': question_list = [x[:3] for x in student_question_list] else: question_list = [x[3:] for x in student_question_list] for n, student in enumerate(question_list): student_id = sid_list[n] #count the order for each student per test order = 0 for ix, graph in enumerate(student): student_test_id = int(str(student_id)+str(ix)) dataset = graph[0] if dataset == 0: #not using 0 precursor for easier use in excel graph_id = graph[1] + 1 else: graph_id = int(str(dataset)+str(graph[1]+1)) if test == 'pre_test' or test == 'post_test': order += 1 if dataset == 0: question_id = 5 else: question_id = int(str(dataset)+str(5)) #write row to db conn.execute(StudentsTest.insert(), {'student_id':student_id, 'test':test, 'graph_id':graph_id, 'dataset':dataset, 'question_id':question_id, 'order':order, 'complete':'no'}) elif group == 'heuristic': for x in range(6,9): order += 1 if dataset == 0: question_id = x else: question_id = int(str(dataset)+str(x)) #write row to db conn.execute(StudentsTest.insert(), {'student_id':student_id, 'test':test, 'graph_id':graph_id, 'dataset':dataset, 'question_id':question_id, 'order':order, 'complete':'no'}) else: #multiple choice questions for x in range(3): order += 1 if dataset == 0: question_id = x + 1 else: question_id = int(str(dataset)+str(x + 1)) #write row to db conn.execute(StudentsTest.insert(), {'student_id':student_id, 'test':test, 'graph_id':graph_id, 'dataset':dataset, 'question_id':question_id, 'order':order, 'complete':'no'}) if test == 'training': #only have rating question for training order += 1 if dataset == 0: question_id = 4 else: question_id = int(str(dataset)+str(4)) #write row to db conn.execute(StudentsTest.insert(), {'student_id':student_id, 'test':test, 'graph_id':graph_id, 'dataset':dataset, 'question_id':question_id, 'order':order, 'complete':'no'})