【Python数据处理】两个excel表格数据匹配

本文介绍了如何使用Python的pandas库在Excel表格中进行单列和多列条件的数据匹配,包括读取Excel文件、基于特定列名进行匹配操作以及导出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两个Excel表格根据列名,进行数据对比

1.单条件匹配(只根据一个列名)

import pandas as pd
df1 = pd.read_excel('数据1.xls', dtype='str')
df2 = pd.read_excel('数据2.xlsx', dtype='str')

# 假设我们根据某个列来匹配两个表格,比如 'ID' 列
# 找出第一个表格中与第二个表格在'ID'列匹配的行
condition = df1['ID'].isin(df2['ID'])

# 将匹配的行对应表格1(表格2)
matched_rows = df1[condition ]

# 将匹配的行导出到新的Excel文件
matched_rows.to_excel('匹配数据.xlsx', index=True)

# 从表格1(表格2)中删除这些匹配的行
df1 = df1[~df1['ID'].isin(df2['ID'])]

# 将修改后的表格1(表格2)导出到新的Excel文件
df1.to_excel('更新后本单位创建2024-1-29.xlsx', index=True)

2.多条件匹配(根据多个列名)

import pandas as pd

df1 = pd.read_excel('表格1.xlsx', dtype='str')
df2 = pd.read_excel('表格2.xlsx', dtype='str')

# 创建唯一标识符列,row代表列名,即表格1中的列名对应表格2中的列名
df1['unique_id'] = df1['row1'] + '_' + df1['row2'] + '_' + df1['row3']
df2['unique_id'] = df2['row4'] + '_' + df2['row5'] + '_' + df2['row6']

# 使用isin方法比较唯一标识符
condition = df1['unique_id'].isin(df2['unique_id'])

# 筛选df1中符合条件的行
df1_matched = df1[condition]
df1_matched.to_excel('匹配数据.xlsx', index=True)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值