比较 openpyxl 中两个电子表格中的一列
comparing one column in two spreadsheets in openpyxl
我正在制作一个 excel 比较程序,但我似乎卡住了。我想比较电子表格中的两个 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()
。谁能解决这个问题?任何帮助将不胜感激。
出现此错误是因为在执行行 if row1[0].value != ws.cell(row=x, column=1).value:
时,您的变量 x
包含 tuple
个 cell
个对象。输入参数 row
需要 int
值。
我认为解决您的问题的一个好方法是将 for
循环与 zip
语句结合使用(更多关于 zip
here):
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))
我正在制作一个 excel 比较程序,但我似乎卡住了。我想比较电子表格中的两个 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()
。谁能解决这个问题?任何帮助将不胜感激。
出现此错误是因为在执行行 if row1[0].value != ws.cell(row=x, column=1).value:
时,您的变量 x
包含 tuple
个 cell
个对象。输入参数 row
需要 int
值。
我认为解决您的问题的一个好方法是将 for
循环与 zip
语句结合使用(更多关于 zip
here):
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))