Python 将excel工作表与openpyxl进行比较
我有两个excel文件。python代码应该填充一个新文件,该文件应该包含第二个文件(不在第一个文件中)的所有内容。如果这有道理的话。 示例:我有一个充满数据的列表。每周我都会得到一个。我只想得到第二个列表中的新内容Python 将excel工作表与openpyxl进行比较,python,excel,list,sorting,openpyxl,Python,Excel,List,Sorting,Openpyxl,我有两个excel文件。python代码应该填充一个新文件,该文件应该包含第二个文件(不在第一个文件中)的所有内容。如果这有道理的话。 示例:我有一个充满数据的列表。每周我都会得到一个。我只想得到第二个列表中的新内容 # Syntax list_sheet1 = [("DATA","data"),...] list_sheet2 = [("DATA","data"),...] # I just want to co
# Syntax
list_sheet1 = [("DATA","data"),...]
list_sheet2 = [("DATA","data"),...]
# I just want to compare the uppercase data but append the hole tuple to my final list.
- 清单1有4722行(内部无双行)
- 清单2有10438行(内部无双行)
- 10442-4722=5720
非常感谢您的帮助。如果列表中已经有
var
,则不会添加它们。输出取决于您的数据。
from openpyxl import *
# DECLARING WORKBOOKS
Excel1 = "SHEET1.xlsx"
wb1 = load_workbook(Excel1)
sheet1 = wb1['Tabelle1']
Excel2 = "SHEET2.xlsx"
wb2 = load_workbook(Excel2)
sheet2 = wb2['Sheet']
Excel_final = "SHEET_NEW.xlsx"
wb_final = load_workbook(Excel_final)
sheet_final = wb_final['Sheet']
# READ THE SHEETS
rows = 4722
list_sheet1 = []
for r in range(1, rows+1):
tuple_sheet1 = (sheet1.cell(row=r, column=1).value, sheet1.cell(row=r, column=2).value)
list_sheet1.append(tuple_sheet1)
rows = 10438
list_sheet2 = []
for r in range(1, rows+1):
tuple_sheet2 = (sheet2.cell(row=r, column=1).value, sheet2.cell(row=r, column=2).value, sheet2.cell(row=r, column=3).value, sheet2.cell(row=r, column=4).value, sheet2.cell(row=r, column=5).value, sheet2.cell(row=r, column=6).value, sheet2.cell(row=r, column=7).value, sheet2.cell(row=r, column=8).value, sheet2.cell(row=r, column=9).value)
list_sheet2.append(tuple_sheet2)
# FILTERS THE DATA
list_final = []
key_set = []
var1 = str()
var2 = str()
for i in list_sheet1:
var1 = i[0]
var2 = i[1]
var = (str(var1), str(var2))
key_set.append(var)
for i in list_sheet2:
var1 = i[1]
var2 = i[7]
var = (str(var1), str(var2))
if var not in key_set:
list_final.append(i)
key_set.append(var)
# WRITING TO WORKBOOK
for i in list_final:
sheet_final.append(i)
wb_final.save(Excel_final)