我正在尝试遍历整行单元格并将其与另一个Excel工作表上的单元格行进行比较。我已经弄明白它从表单中读取,但我的for循环和if语句肯定有问题。我正在做的是分配第一个单元格,然后将其与另一个单元格中的第一个单元格进行比较。如果它们相等,我希望它在第一张纸中该行的某一点写一个不同的纸张。如果它们不相同,我想看看前6位是否相同,如果它们是......我想在第一张纸上的那个单元格上写“CHECK”。我想继续沿着第二张纸中的单元格向下,直到全部检查完毕,继续前进到第一张纸中的下一个单元格并重新开始。
我的代码在这里出了什么问题?它将错误的输出输出到Excel工作表中。
谢谢。for row in range(sheet.nrows):
cell = str(sheet.cell_value(row, 0))
for row in range(windc_sheet.nrows):
windcell = str(windc_sheet.cell_value(row, 0));
if cell == windcell:
outputsheet.write(row, 1, ' ')
else:
sixdig = cell[0:6]
sixdigwind = windcell[0:6]
if sixdig == sixdigwind:
outputsheet.write(row, 1, 'Check')
else:
continue;
else:
continue
error output onto excel: wanted output:
check check
check
check
check check
check
比较两张纸:
123456-01 123455-01
124445 123336-55
123454-99 123456-02
123455-03 133377-66
1277 199227-22
答案 0 :(得分:0)
第二次迭代是发生错误的那次。试试这个:
for row in range(sheet.nrows):
cell = str(sheet.cell_value(row, 0))
windcell = str(windc_sheet.cell_value(row, 0))
if cell == windcell:
outputsheet.write(row, 1, ' ')
else:
sixdig = cell[0:6]
sixdigwind = windcell[0:6]
if sixdig == sixdigwind:
outputsheet.write(row, 1, 'Check')