我正在制作一個 excel 比較程序,該程序需要一定數量的工作表,比較它們并檢查其中一張工作表中的值是否在另一張工作表中不存在。但是,我收到一個重復的問題。為了澄清,這是我的代碼:import tkinter as tkfrom tkinter import filedialogimport openpyxl, os, csvfrom openpyxl.utils import get_column_letter, column_index_from_string# Output FileoutputFile = open('output.csv','w',newline='')outputWriter = csv.writer(outputFile)# Tk initialization for file dialogroot = tk.Tk()root.withdraw()# Number of sheets to be comparednumber = input('Enter number of workbook sheets for comparison: ')number = int(number)# Functions for generating file pathsdef generate_file_path(): file_path = filedialog.askopenfilename(title="Open Workbook") return file_path# Variables to store file paths, workbooks and worksheetsall_ws = []# Core function for program's logisticsdef core(): # for loops for generating file paths, workbooks and worsheets for x in range(number): path = generate_file_path() wb = openpyxl.load_workbook(path) ws = wb['CBF'] all_ws.append(ws) # for loop to use for finding diff for row in all_ws[1].iter_cols(): for cellz in row: sheet_cols.append(cellz.value) # loop that checks if the value does not exist for ws_diff in range(number): for row,row2 in zip(all_ws[0].iter_cols(),all_ws[1].iter_cols()): for cell,cell2 in zip(row,row2): if cell.value not in sheet_cols: outputWriter.writerow([str(cell2.value)])但是,當我檢查我的 csv 文件時,輸出的“差異”似乎在兩個文件上。有人對我有什么建議嗎?一切都很好,謝謝
2 回答

慕碼人8056858
TA貢獻1803條經驗 獲得超6個贊
也許你可以這樣做:
改變:
for row in all_ws[1].iter_cols():
至:
for row in all_ws[0].iter_cols():
之后:
改變 if cell.value not in sheet_cols:
至: if cell2.value in sheet_cols:
添加回答
舉報
0/150
提交
取消