def run(self, excelPathInputValue, errbox): try: targetExcel = load_workbook(excelPathInputValue, data_only=True) # 엑셀 연다. bioProjectSheetName = '' bioSampleSheetName = [] sampleTypeSheetName = [] experimentSheetName = [] sheets = targetExcel.sheetnames #시트 이름들을 가져와서 포함되는 단어에 따라서 각각의 배열에 추가 for sheet in sheets: if 'BioProject' in str(sheet): bioProjectSheetName += str(sheet) elif 'BioSample' in str(sheet): bioSampleSheetName.append(str(sheet)) elif 'Sample type' in str(sheet): sampleTypeSheetName.append(str(sheet)) elif 'Experiment' in str(sheet): experimentSheetName.append(str(sheet)) #biosample,sampletype,experiment 쌍의 개수만큼 반복한다. rotation = len(bioSampleSheetName) bioProject = targetExcel[bioProjectSheetName] Validation.bioProject_Validation( bioProject, bioProjectSheetName, errbox) #BioProject는 1개뿐이므로 그냥 validation 실행 #나머지 시트들은 존재하는 개수만큼 실행한다. #bioSample_SampleName = [] i = 0 while i < rotation: bioSample = targetExcel[bioSampleSheetName[i]] sampleType = targetExcel[sampleTypeSheetName[i]] experiment = targetExcel[experimentSheetName[i]] Validation.bioSample_Validation(bioSample, sampleType, bioSampleSheetName[i], errbox) bioSample_SampleName = Validation.sampleType_Validation( sampleType, sampleTypeSheetName[i], errbox) Validation.Experiment_Validation(experiment, experimentSheetName[i], errbox, bioSample_SampleName) i += 1 except IOError as err: errbox.insertPlainText("IO Error : " + str(err))