使用pandas实现合并具有共同列的两个EXCEL表

表1:

表2:

表1和表2,有共同的列“名称”,而且,表1的内容(行数)<=表2的行数。

目的,根据“名称”列的对应内容,将表2列中的“所处行业”填写到表1相应的位置。

实现代码:

import pandas as pd

csv_file_path_a = '表1.csv'  # 替换为你的CSV文件路径
csv_file_path_b = '表2.csv'  # 替换为你的CSV文件路径
df_a = pd.read_csv(csv_file_path_a, encoding='gbk')
df_b = pd.read_csv(csv_file_path_b, encoding='gbk')

df_merged = pd.merge(df_a, df_b[['名称', '所处行业']], on='名称', how='left')
df_merged.to_csv('合并结果.csv', index=False, encoding='gbk')

结果(生成一个新的叫做“合并结果.csv”),如下图:

关键代码解释:

on='名称':以“名称”列为匹配键。

how='left':保留第一个表(df1)中的所有行,只添加匹配上的“所处行业”。

df2[['名称', '所处行业']]:只取 df2 中需要的列,避免多余列混入。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值