select具有相似名称和变化索引的电子表格

我需要在阅读Excel电子表格的过程中select表单的build议。 我正在为之工作的公司已经拥有了一个包含100多个Excel电子表格的大型数据库,我正在这里search特定工作表中的值。 问题是电子表格的名称和索引变化,特别是涉及到旧文档。 我已经尝试了sheet_by_idex(6)sheet_by_name('name') ,但我似乎不能正确的。

当searchsheet_by_index(6) ,问题在于索引在一些文档中发生了变化,例如从索引5到索引6.另一个问题是它们也有隐藏的表单,我不确定是否会中断或变成最后的指标。

在searchsheet_by_name('name') ,问题在于大多数情况下的图纸名称被称为“Ship Res。Coeff WL1”,但在其他电子表格中也可能被称为“Ship Res。Coeff WL2B”。 除此之外,每个电子表格中都有一个类似的表格,名称为“Ship Res。Coeff WL1”(或WL2B,如果它是其中一个文件的话)

这里是我的代码tryexceptfunction,让我注意到,表的select是问题。

 def find_Froudnumbers(): Fdict = {} for filename in file_list: try: wb = xlrd.open_workbook(os.path.join(start_dir, filename)) sheet = wb.sheet_by_index('6') Teljar = 25 Flist = [] for Frouden in xrange(25, sheet.nrows): Frouden = sheet.cell_value(int(Teljar), 2) Flist.append(Frouden) Teljar += 1 Fdict[filename] = [Flist] except xlrd.XLRDError: print 'Problem with finding Froudenumbers from:', filename return Fdict # map(str.strip(' '), Frouden) Fdict = find_Froudnumbers() print Fdict 

如果需要进一步的解释,请不要犹豫。 任何build议,非常感谢。

 from xlrd import open_workbook def find_Froudnumbers(): Fdict = {} for filename in file_list: try: wb = xlrd.open_workbook(os.path.join(start_dir, filename)) # this will have a problem if there is no similar sheet srch_string = 'Ship Res. Coef' for sheet_index in range(wb.nsheets): first_sheet = wb.sheet_by_index(sheet_index) second_sheet = wb.sheet_by_index(sheet_index + 1) if (srch_string in first_sheet.name and srch_string in second_sheet.name): # do something with second_sheet Teljar = 25 Flist = [] for Frouden in xrange(25, sheet.nrows): Frouden = sheet.cell_value(int(Teljar), 2) Flist.append(Frouden) Teljar += 1 Fdict[filename] = [Flist] except xlrd.XLRDError: print 'Problem with finding Froudenumbers from:', filename return Fdict # map(str.strip(' '), Frouden) Fdict = find_Froudnumbers() print Fdict 

这应该是密切的,我没有时间来testing它不幸,但要谨慎,因为这只会有效,如果有一本类似的书在它之前…也许你可以调整它有点更灵活