我有一个脚本,它使用 xlrd 比较两个 .xls 工作表之间的值。默认情况下,它可以让我查找相似之处,并将它们写入 txt 文件。如果我传入一个参数,我可以查找每个 .xls 独有的设备,并将其写入 txt 文件。现在,我遍历每个 .xls 中的行,并在发现两个文件之间存在相似性时将标志标记为 True。当标志标记为 False 时,它只会从第一张表写入主机。这是带有标志的代码:
else:
for row1 in range(sheet1.nrows):
inboth = False
for row2 in range(sheet2.nrows):
if sheet2.row_values(row2)[0].split(".")[0] == sheet1.row_values(row1)[0].split(".")[0]:
inboth = True
if not inboth:
outfile.write(sheet1.row_values(row1)[0].split(".")[0] + ",File1\n")
for row2 in range(sheet2.nrows):
inboth = False
for row1 in range(sheet1.nrows):
if sheet1.row_values(row1)[0].split(".")[0] == sheet2.row_values(row2)[0].split(".")[0]:
inboth = True
if not inboth:
outfile.write(sheet2.row_values(row2)[0].split(".")[0] + ",File2\n")
有没有更有效的方法可以在不使用“inboth”标志的情况下做到这一点?有没有一种解决方案,我不需要两次遍历两张纸?