I have merged data between two excels
I don't want re-write excel all data, so use
pandas&openpyxlto re-write update data in specify columns#read df1 & df2 Excel file df1 = pd.read_excel('C:/Users/Desktop/Data1.xlsx') df2 = pd.read_excel('C:/Users/Desktop/Data2.xlsx') #df1 & df2 data compare df_merge1 = pd.merge(df1, df2, on=['Name', 'Reg Date'], how='left', indicator=True) df_merge2 = pd.merge(df1, df2, on=['Name', 'Reg Date'], how='right', indicator=True) #Update df1 & df2 columns data df1_upd_col_c = df_merge1['Duplicated'] = np.where(df_merge1['Duplicated'].isnull() & (df_merge1['_merge'] == 'both'), 'Y', df_merge1['Duplicated']) df2_upd_col_c = df_merge2['Check'] = np.where(df_merge2['Check'].isnull() & (df_merge2['_merge'] == 'right_only'), 'Not Match', df_merge2['Check']) #read, re-write & save df1 column updated data wb1 = xl.load_workbook('C:\\Users\\Desktop\\Data1.xlsx') ws1 = wb1.active for df1_row, df1_value in enumerate(df1_upd_col_c, start=2): ws1[f'C{df1_row}'].value = df1_value wb1.save('C:\\Users\\Desktop\\Data1.xlsx') #read, re-write & save df2 column updated data wb2 = xl.load_workbook('C:\\Users\\Desktop\\Data2.xlsx') ws2 = wb2.active for df2_row, df2_value in enumerate(df2_upd_col_c, start=2): ws2[f'C{df2_row}'].value = df2_value wb2.save('C:\\Users\\Desktop\\Data2.xlsx')Now, I want to use open file dialog to excute above operation but I don't know how to open multiple excel files with
filedialog.askopenfilenamesand how to read the excel files path withpandas&openpyxl?# importing pandas module import pandas as pd from tkinter import * from tkinter import filedialog from tkinter import messagebox as msg def openFiles(): filepath = filedialog.askopenfilenames(initialdir='C:\\Users\\Desktop', filestypes=('Excel Files', '*.xlsx')) file = open(filepath, 'r') print(file.read()) file.close() window = Tk() button = Button(text='Open', command=openFiles) button.pack() window.mainloop()