吴晓阳
发布于 2024-10-24 / 15 阅读
0

python比较两个Excel文件异同

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')