在阅读大量 Excel 电子表格时,我需要关于选择工作表的建议。我工作的公司已经拥有一个包含 100 多个 Excel 电子表格的大型数据库,我正在其中搜索特定工作表中的值。问题是电子表格的名称和索引各不相同,尤其是涉及旧文档时。我都试过了sheet_by_idex(6)
和sheet_by_name('name')
,但我似乎做错了。
搜索时sheet_by_index(6)
,问题是某些文档中的索引发生了变化,例如从索引 5 到索引 6。另一个问题是它们也有隐藏的工作表,我不确定是否会中断或只是成为最后一个索引。
搜索时sheet_by_name('name')
,问题是工作表名称在大多数情况下称为“Ship Res. Coeff WL1”,但在其他电子表格中也可能称为“Ship Res. Coeff WL2B”。除此之外,每个电子表格中都有一个类似的表格,名称为“Ship Res. Coeff WL1”(如果是这些文件之一,则为 WL2B)
这是我的带有try
,except
函数的代码,让我注意到工作表的选择是问题所在。
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
如果需要进一步的解释,请不要犹豫。非常感谢任何建议。