Python / xlrd读取行和列

时间:2013-02-18 20:19:40

标签: python xlrd

我有特定结构的exel文件。 第一行是标题第二行是名称,最后一行是值。 我只需要只取标题和值,如果Excel文件只有3行就不那么困难,但它可以是100行和列,我只需要获取标题和值,而不是任何名称和空行

         1          2        3           
1    GroupOne     Empty      Empty
2      Jonh       Elena     Mike    
3        45         100      500 
4        Empty      Empty     Empty
5   GroupTwo       Empty     Empty
6   Lisa           Ken       Lui
7   100             300      400

等等。

正如您在两个标题之间看到的那样,总是一行空行。 最后它会是这样的:

GroupOne
45   100   500
GroupTwo
100 300 400

提前谢谢你。我会非常感谢你的帮助

1 个答案:

答案 0 :(得分:6)

我认为这个website有一个例子可以帮助你:

import xlrd
workbook = xlrd.open_workbook('my_workbook.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

函数cell_type应该可以帮助你构建一个if语句,例如if worksheet.cell_type != 0,从而跳过空单元格。