2013-09-12 4 views
0

Во-первых, мне нужно знать значение ячейки, и если значение ячейки больше 1 или 1, тогда она будет печататься в лист превосходства. Сейчас его работа.Python Excel: как добавить значение ячейки и константу, а затем распечатать обратно в excel

Во-вторых, я хочу, чтобы ячейка имела более 1 или 1 значение, она должна печатать имя столбца вместе со значением ячейки. Например:

while curr_row < total_rows: 
    curr_row+=1 
    curr_cols=-1 
    while curr_cols<total_cols: 
      curr_cols+=1 
      cell_type=sheet1.cell_type(curr_row,curr_cols) 
      print sheet1.cell_value(curr_row,curr_cols) 
      if cell_type==1 or (cell_type==2 and sheet1.cell_value(curr_row,curr_cols)>=1): 
        Sheet.write(curr_row,curr_cols,sheet1.cell_value(curr_row,curr_cols)) 
        print 'Current:', curr_cols 



0 0 0 0 0 0 0 0 0 0 0 0 

0 0 0 0 0 0 0 0 1 0 0 0 

0 1 0 0 0 0 0 0 0 0 0 0 

0 0 0 0 0 0 0 1 3 0 3 3 

21 18 1 1 0 2 1 0 0 1 9 0 
0 0 0 0 0 0 0 0 0 0 2 3 

Если значение в столбце 4 равно 1 или больше 1. Поэтому оно должно печатать 4: 1. Его значение 4 столбца и значение равно 1.

ответ

1

Вот упрощенная версия вашего кода. Кроме того, он печатает значение столбца и значение столбца:

import xlrd 

book_input = xlrd.open_workbook('input.xls') 
sheet_input = book_input.sheet_by_index(0) 

for row in xrange(sheet_input.nrows): 
    for col in xrange(sheet_input.ncols): 
     cell_type = sheet_input.cell_type(row, col) 
     cell_value = sheet_input.cell_value(row, col) 
     if cell_type == 1 or (cell_type == 2 and cell_value >= 1): 
      print "%s:%s" % (col + 1, cell_value) 

Надеюсь, это то, что вы хотели.

+0

Привет, Большое вам спасибо за ваш ответ. Да, это то, что я ищу. – user2772192