import pandas as pd
df_list_1 = pd.read_excel (r'data\excel\excel_1.xlsx', sheet_name='Sheet1') # Excel with names
df_list_2 = pd.read_excel (r'data\excel\excel_2.xlsx', sheet_name='Sheet1') # Excel with names and marks
df_list_1 = df_list_1.reset_index()
df_list_2 = df_list_2.reset_index()
df_diff = df_list_1[~df_list_1['Names'].isin(df_list_2['Names'])] # All names not in the second excel with the marks
df_diff = df_diff.fillna("No Marks") # Fill NA with 'no marks', marks on the second excel will be retained
df_list_final = df_list_2.append(df_diff) # Add all names that did not match
df_list_final = df_list_final.drop(['index'], axis=1).reset_index(drop=True) # Remove index column and reindex
print(df_list_final)
输出
Names A B C D
0 Lambrie 90 85 NaN NaN
1 Wade 70 50 NaN NaN
2 Jurgens No Marks No Marks No Marks No Marks
3 Magdel No Marks No Marks No Marks No Marks
4 Liam 60 50 10 50
试试这个
输出
相关问题 更多 >
编程相关推荐