比较openpyxl中两个电子表格中的一列

我正在做一个比较优秀的程序,但我似乎被卡住了。 我想比较电子表格中的两个excel文件。 这是我的代码:

import openpyxl wb = openpyxl.load_workbook('C:\\Users\\Bill\\Desktop\\CK_Server_list_0.1.xlsx') ws = wb.active wb1 = openpyxl.load_workbook('C:\\Users\\Bill\\Desktop\\CK_Server_list_0.2.xlsx') ws1 = wb1.active for x in ws.iter_cols(max_col=1): for cell in x: print(cell.value, cell.coordinate) for row1 in ws1.iter_cols(min_col=1): if row1[0].value != ws.cell(row=x, column=1).value: print(str(row1[0].value) + ' is not equal to ' + str(ws.cell(row=x, column=1).value + ' ' + str(ws.cell(row=x, column=1).coordinate))) 

每次我运行这个,都会给我一个错误,说tuple() < int() 。 谁能解决这个问题吗? 任何帮助,将不胜感激。

这个错误会popup,因为你的variablesx包含if row1[0].value != ws.cell(row=x, column=1).value:的行, if row1[0].value != ws.cell(row=x, column=1).value:被执行。 input参数row需要一个int值。

我认为你的问题的一个好方法是使用循环与zip语句结合使用(更多在zip 这里 ):

 import openpyxl wb = openpyxl.load_workbook('C:\\Users\\Bill\\Desktop\\CK_Server_list_0.1.xlsx') ws = wb.active wb1 = openpyxl.load_workbook('C:\\Users\\Bill\\Desktop\\CK_Server_list_0.2.xlsx') ws1 = wb1.active for (col, col_1) in zip(ws.iter_cols(), ws1.iter_cols()): for (cell, cell_1) in zip(col, col_1): if cell.value != cell_1.value: print(str(cell.value) + ' is not equal to ' + str(cell_1.value) + ' ' + str(cell.coordinate))