0

首先我需要知道单元格的值,如果单元格的值大于 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。

4

1 回答 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)

希望这是你想要的。

于 2013-09-12T11:15:49.970 回答