Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在openpyxl中比较两个电子表格中的一列_Python_Excel_Openpyxl - Fatal编程技术网

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

Python 在openpyxl中比较两个电子表格中的一列,python,excel,openpyxl,Python,Excel,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')

我正在制作一个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()
。有人能解决这个问题吗?如果有任何帮助,我们将不胜感激。

此错误会弹出,因为当行
if row1[0]时,变量
x
包含
单元格
对象的
元组。值!=单元格(行=x,列=1)。值:
执行。输入参数
需要一个
int

我认为解决您的问题的一个好方法是将
for
循环与
zip
语句结合使用(更多关于
zip
):


您是否正在尝试将第一个表(0.1.xlsx)中的一列与第二个表(0.2.xlsx)中的一行进行比较?如果行和列的大小不相同,该怎么办?@bhushanpardhi在用尽最小的输入iterable后,
zip
语句停止。因此,此代码将仅比较两个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 (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))