Python Excel: как добавить значение ячейки и константу, а затем распечатать обратно в Excel

Во-первых, мне нужно знать значение ячейки, и если значение ячейки больше 1 или 1, оно будет напечатано на листе 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.


person user2772192    schedule 12.09.2013    source источник


Ответы (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)

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

person alecxe    schedule 12.09.2013
comment
Привет! Большое спасибо за ваш ответ. Да, это то, что я ищу. - person user2772192; 12.09.2013