我想自动化当前比较数据的过程。
基本上我想保存每个循环的数据,并且每个循环都会将数据插入到另一行。
到目前为止,它只会替换数据,而不是将其插入到另一行。
这是我当前的代码。
loadfile1 = pd.read_excel(File1)
loadfile2 = pd.read_excel(File2)
l = loadfile1.values.tolist()
m = loadfile2.values.tolist()
A = wx.Book(CompFile)
for row in l:
if row in m:
print('passed')
sheet = A.sheets['Source']
sheet.range('A1').value = row
是否可以每次循环插入数据,它只会将数据插入到另一行
当然有可能。
您的代码当前在每个循环上写入相同的单元格,因此它只是覆盖
您可以通过多种方式执行此操作,但最简单的方法是简单地使用一个行号变量,该变量在写入行时递增。
在示例中,我假设
wx
是 Xlwings 对象。变量“row_number”用作要写入“row”数据的当前行。 'row_number' 设置为从 1(第 1 行)开始,如有必要,可以将起始行设置为其他值。然后,如果将一行写入 row_number,则 row_number 会增加 1,因此下一次写入将写入下一行。...
A = wx.Book(CompFile)
### The Sheet object does not need to be set every time in the loop, thus
### it can be removed from and set before the loop
sheet = A.sheets['Source']
### Start writing from row 1 change if writing from another row
row_number = 1
for row in l:
if row in m:
print('passed')
### Use f string to create the cell co-ordinate using row_number
sheet.range(f'A{row_number}').value = row
row_number += 1 # Increment the row_number for the next write
A.save() # Don't forget to save the workbook