3

特定の構造を持つエクセルファイルがあります。最初の行はタイトルで、2 番目は名前で、最後の行は値です。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

や。。など。

ご覧のとおり、2 つのタイトルの間は常に 1 つの空の行です。最終的には次のようになります。

グループワン
45 100 500
グループツー
100 300 400

前もって感謝します。私はいくつかの助けにとても感謝しています

4

1 に答える 1

10

このウェブサイトに役立つ例があると思います:

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

于 2013-02-18T20:53:27.113 に答える