1 import pandas as pd 2 from openpyxl import load_workbook 3 4 def compare(data1, sheetname1, data2, sheetname2): 5 # 读取两个表 6 dt1 = pd.read_excel(data1, sheet_name=sheetname1, engine='openpyxl') 7 dt2 = pd.read_excel(data2, sheet_name=sheetname2, engine='openpyxl') 8 # 确定基准列 9 dt1_file_path = dt1['file path'].values.tolist() 10 dt2_file_path = dt2['file path'].values.tolist() 11 12 for i in dt1_file_path: 13 if i in dt2_file_path: 14 dt2_row = dt2.loc[dt2['file path'] == i] 15 # dt1_row = dt1.loc[dt1['file path'] == i] 16 17 rowid = dt1.index[dt1['file path'] == i].tolist() 18 19 dt1.loc[rowid, 'Remark'] = dt2_row['Remark'].tolist() 20 # print(dt1) 21 22 book = load_workbook('E:/test/mod1a.xlsx') 23 write = pd.ExcelWriter(r'E:/test/mod1a.xlsx', engine='openpyxl') 24 write.book = book 25 write.sheets = {ws.title: ws for ws in book.worksheets} 26 dt1.to_excel(write, header=True, index=False, encoding="utf_8_sig") 27 write.save() 28 write.close() 29 30 compare("E:/test/mod1a.xlsx","Sheet1","E:/test/mod2a.xlsx","Sheet1")