读取Excel文件并仅使用特定文件

在我过去的问题中,我已经说过我是python的新手了。 我只用了一次工作。 再一次,我还有一个小小的工作要做。

我必须读取一个excel文件,并在该excel文件中,有3列(col1,col2,col3)。 大约有100行。

col1有2个值A和B. col2的值范围从1 – 10。col3,有很多不同的值。

但是我希望我的python程序查看col1中每个不同的值,然后查看col2中每个不同的值,然后计算col3的所有相应值的平均值。

希望输出结果如下所示:

A - 1 = 2.3 A - 2 = 6.2 A - 3 = 5.7 etc. etc. B - 1 = 3.5 B - 2 = 4.1 B - 3 = 8.1 etc. etc. 

我知道,要问很多,但我已经做到了这一点:

 import xlrd #import package #opening workbook and reading first sheet book = xlrd.open_workbook('trend.xls') sheet = book.sheet_by_index(0) #print sheet name, number of rows and columns #print sheet.name #print sheet name #print sheet.nrows #print number of rows #print sheet.ncols #print number of colums #print cellname along with value in for loop for row_index in range(sheet.nrows): for col_index in range(sheet.ncols): print xlrd.cellname(row_index,col_index),'-', print sheet.cell(row_index,col_index).value 

它开始打印每个单元格中的所有值,以及名称等。 但后来我意识到这不是做它应该做的事情。 我找不到一个适当的教程如何做到这一点。

如果您有任何build议,我会非常感激。 非常感谢!

尝试这个:

 import xlrd book = xlrd.open_workbook('trend.xls') sheet = book.sheet_by_index(0) unique_combinations = {} for row_index in range(sheet.nrows): cell_1 = sheet.cell(row_index, 0) cell_2 = sheet.cell(row_index, 1) cell_3 = sheet.cell(row_index, 2) unique_combo = (cell_1.value, int(cell_2.value)) if unique_combinations.has_key(unique_combo): unique_combinations[unique_combo].append(cell_3.value) else: unique_combinations[unique_combo] = [cell_3.value] for k in unique_combinations.keys(): values = unique_combinations[k] average = sum(values ) / len(values ) print '%s - %s = %s' % (k[0], k[1], average)