将python中的两个单元格之间的差异用于循环

问题描述

我想做的是找到B201和B52单元格之间的区别,并将答案放入D52单元格excel中。然后,我想重复减法公式,直到value1单元格可以是任何行。我在b列中的值是时间戳。这就是为什么我使用日期时间。

filename1 ="C:\\Users\\hhh.xlsx"
wb2 = xl.load_workbook(filename1)
ws2 = wb2.active
for i in range(52,value1) and j in range (201,int(value2)):
    ws2.cell(row=i,column=4).value = datetime.datetime(float(ws2.cell(row=j,column=2).value)) -  datetime.datetime(float(ws2.cell(row=i,column=2).value))

有人可以纠正我吗?预先感谢

解决方法

只需使用一个从0value1的循环,然后将其添加到52201即可得到应减去的相应行。

for n in range(value1):
    i = 52 + n
    j = 201 + n
    cell1 = ws2.cell(row=j,column=2).value
    cell2 = ws2.cell(row=i,column=2).value
    if cell1 and cell2: # Make sure both cells are filled in
        ws2.cell(row=i,column=4).value = float(cell1) -  float(cell2)