我试图在两个不同的工作表中的特定行中迭代多个列。首先,我遍历两个工作表的第一列,其中包含无序的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
暂无答案!
目前还没有任何答案,快来回答吧!