如何比较python中的两个excel工作簿?

2024-10-03 00:22:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一份excel工作簿-表1,其中包含以下值:

Names
--------
Aaron  |
Bob    |
Carl   |
Daron  |
Elle   |

我有另一个excel工作簿-sheet2,其值为:

Names       Marks
-------------------
Aaron    |   90
Bob      |   89

我希望使用python将缺少的名称添加到活页2中的工作簿2中,并在“标记”列中添加“无标记”

有人能帮忙吗

先谢谢你


Tags: 标记名称namesexcelbobaaroncarlmarks
1条回答
网友
1楼 · 发布于 2024-10-03 00:22:51

试试这个

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

相关问题 更多 >