按行python读取.xls文件数据

我想使用任何特定单元格的值逐行读取.xls文件数据。

考虑有一个主要的列是ID,名称,地址,年龄,马克,科这些是主要领域。 现在我想访问整个行(i == 4)。 我想通过使用特定单元格的值来访问该行。

在这里我尝试了一些

import xlrd workbook = xlrd.open_workbook('sheet2.xls') worksheet = workbook.sheet_by_name('Sheet1') num_rows = worksheet.nrows - 1 num_cells = worksheet.ncols - 1 curr_row = -1 while curr_row < num_rows: curr_row += 1 row = worksheet.row(curr_row) print 'Row:', curr_row curr_cell = -1 while curr_cell < num_cells: curr_cell += 1 # Cell Types: 0=Empty, 1=Text, 2=Number, 3=Date, 4=Boolean, 5=Error, 6=Blank cell_type = worksheet.cell_type(curr_row, curr_cell) cell_value = worksheet.cell_value(curr_row, curr_cell) print ' ', cell_type, ':', cell_value 

所以我得到的输出像

 Row: 8 2 : 96.0 1 : Robert 1 : Honore 1 : 607-829-7943 2 : 56.0 1 : Faye 1 : Wight 1 : Faye.A.Wight@mailinator.com 

所以它以这种格式打印整行。 但我想通过价值访问行。 我们可以使用cell_value = worksheet.cell_value(1,1)获取单元格值,但是如何获取该单元格的行号。 而我想获得整行使用条件像(id == 5)或(年龄= 17)请帮我理清这一点。

你试图做的是所谓的“search”,你不能用xlrd做到这xlrd 。 它不提供searchfunction。 您必须在循环中迭代数据并自行search。

这很简单,但不要忘记性能。 例如,如果您计划多次search工作表中的内容,则应首先查找并cachingparsing的数据,然后再将其保存到内存中。