在Python中,可以使用openpyxl库来比较两个不同工作表中的大范围单元格和一个列的差异。以下是一个示例代码:
from openpyxl import load_workbook
def compare_worksheets(file1, file2, sheetname, column):
# 加载工作簿
wb1 = load_workbook(file1)
wb2 = load_workbook(file2)
# 获取指定工作表
ws1 = wb1[sheetname]
ws2 = wb2[sheetname]
# 获取指定列的数据
col1 = ws1[column]
col2 = ws2[column]
# 保存差异的单元格
diff_cells = []
# 比较两个列的数据
for c1, c2 in zip(col1, col2):
if c1.value != c2.value:
diff_cells.append(c1.coordinate)
return diff_cells
# 示例用法
file1 = 'workbook1.xlsx'
file2 = 'workbook2.xlsx'
sheetname = 'Sheet1'
column = 'A'
diff_cells = compare_worksheets(file1, file2, sheetname, column)
print("差异的单元格:", diff_cells)
在上述代码中,我们首先导入了load_workbook
函数来加载两个工作簿。然后,我们使用sheetname
参数来获取指定的工作表,并使用column
参数来获取指定的列。
接下来,我们使用zip
函数来将两个列进行迭代比较。如果两个单元格的值不相等,我们将该单元格的坐标添加到diff_cells
列表中。
最后,我们返回diff_cells
列表,其中包含两个工作表中指定列的差异单元格的坐标。