openpyxl:问题w/nested for循环遍历工作表中的列

46scxncf  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(145)

我试图在两个不同的工作表中的特定行中迭代多个列。首先,我遍历两个工作表的第一列,其中包含无序的id值,以获取我的特定行索引。ws 1中的特定行由uniqueid.row表示;在ws2中,它由uniqueid2表示[m1和worksh1]和[m2和worksh2]表示工作簿中的两个工作表。
我想在我的表中逐行逐单元格地遍历列 def column_name 函数并检查两个单独工作表中的值是否相同。如果它们不相同,我想用值的变化替换第二个工作表中单元格的值。我目前在我的每一列中都得到了不正确的值。
输出:56.9-->78-->0-->92-->13.8-->510.8-->…等。
所需输出:13.7-->98
因此,第一个工作表中的初始值和新值将放在ws2的该单元格中。感谢您的帮助。

found=False
found2=False
for col in m1.iter_cols(max_row=1):
     for cell in col: 
        if ((cell.value)=="Worksheet 1 Label 1" and found==False):
           start = cell.column
           found=True
        if ((cell.value)=="Worksheet 1 Label 2"):
            end = cell.column
            last = (end+4)

for col2 in m2.iter_cols(max_row=1):
     for cell2 in col2: 
        if ((cell2.value)=="Worksheet 2 Label 1” and found2==False):
           start2 = cell2.column
           found2=True
        if ((cell2.value)=="Worksheet 2 Label 2 ”)
            end2 = cell2.column
            last2 = (end2+4)

def column_name(workbk1, workbk2, uniqueID):
 for col_cells in workbk1.iter_cols(min_row=uniqueID.row,max_row=uniqueID.row,min_col=start,max_col=last):
       for cell in col_cells:
            for col_cells2 in workbk2.iter_cols(min_row=uniqueID.row,max_row=uniqueID.row,min_col=start2,max_col=last2):
                 for cell2 in col_cells2:

                    if cell.value==cell2.value:
                        break
                    else: 
                        strcellval=str(cell.value)
                        strcellval2=str(cell2.value)
                        delta_value=strcellval+" ---> "+strcellval2
                        cell2.value=delta_value
return

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题