【问题标题】:for loop questions python matching excelfor循环问题python匹配excel
【发布时间】:2016-09-12 12:43:26
【问题描述】:

我正在尝试遍历整行单元格并将其与另一个 Excel 工作表上的单元格行进行比较。我已经弄清楚了,它可以从工作表中读取,但是我的 for 循环和 if 语句肯定有问题。我正在做的是分配第一个单元格,然后将其与另一张表中的第一个单元格进行比较。如果它们相等,我希望它在另一张纸上写一个“”,在第一张纸的那一行的位置。如果它们不一样,我想看看前 6 位数字是否相同,如果它们是……我想在第一张纸的那个单元格上写“检查”。我想继续往下看第二张纸中的单元格,直到全部选中,然后移动到第一张纸中的下一个单元格并重新开始。

我的代码有什么问题?它正在将错误的输出输出到 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

【问题讨论】:

  • 能否将错误输出与预期输出一起包含在内
  • 完成@Osssan :)

标签: python excel for-loop


【解决方案1】:

第二次迭代是错误的。试试这个:

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')

【讨论】:

  • 嗨@鲍里斯。我还需要它遍历另一张表中的所有行。我相信需要有两个 for 循环
  • 嗨@Emily。你正在经历他们两个。变量 row 只是一个整数,用于指示您在两张表中访问和比较哪一行。
  • 嗨@鲍里斯。但是,它不是逐行遍历吗?或者它是检查第一个单元格并将其与所有内容进行比较......然后是下一个单元格并将其与所有内容进行比较。等
  • 这就是为什么我认为我所拥有的一切都很好。谢谢
猜你喜欢
  • 1970-01-01
  • 2011-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多