import pandas as pd
import numpy as np
# 读取 Excel 文件
df1 = pd.read_excel('oa_student.xlsx')
df2 = pd.read_excel('(967人)(2024.10.08)锦绣校区2024学年第一学期学生基本信息(1).xlsx')
#df1['student_userid'] = df1['student_userid'].astype(str)
# 假设 "id" 列是唯一的标识符
unique_id_column = '学号'
# 初始化 compare_status 列
df1['compare_status'] = 'deleted' # 假设记录在 df2 中不存在,则默认为删除状态
# 找出 df1 中在 df2 中存在的记录,并更新 compare_status
df1.loc[df1[unique_id_column].isin(df2[unique_id_column]), 'compare_status'] = 'unchanged'
# 找出 df2 中新增的记录,并添加到 df1 中
new_records = df2[~df2[unique_id_column].isin(df1[unique_id_column])]
# 使用 .loc 方法来确保不是视图
if not new_records.empty:
new_records.loc[:, 'compare_status'] = 'added'
df1 = pd.concat([df1, new_records], ignore_index=True)
# 保存处理后的 df1
df1.to_excel('ding_student_with_compare_status.xlsx', index=False)
print('OK')