Sep-30-2017, 02:23 PM
import openpyxl xls_in='in.xlsx' xls_out='out.xlsx' wb1 = openpyxl.load_workbook(xls_in) active_sheet_wb1 = wb1.active max_row = active_sheet_wb1.max_row students_and_scores = {} for row_num in range(2, max_row +1): key = active_sheet_wb1.cell(row=row_num, column=2).value students_and_scores[key] = active_sheet_wb1.cell(row=row_num, column=1).value wb2 = openpyxl.load_workbook(xls_out) active_sheet_wb2 = wb2.active #get_sheet_by_name(sheetNameswb2[0]) max_row2 = active_sheet_wb2.max_row for row_num in range(2, max_row + 1): key = active_sheet_wb2.cell(row=row_num, column=1).value value = students_and_scores.get(key,'') active_sheet_wb2.cell(row=row_num, column=4, value=value) wb2.save('try.xlsx')this is minimal working script, tested by me. feel free to modify it.