python将两个csv文件根据公共列数据进行合并(曲线救国版)

两个csv文件中都有公共列B,怎么用python将两个csv文件根据公共列合并为一个含有所有信息的文件:

这里想到的是“曲线救国”版:即将两个csv文件都转为excel文件,再对两个文件使用pandas里面的merge函数,根据公共列B进行合并。先转为excel文件主要是可以直接调用相关函数,较方便。


解决代码:

import pandas as pd
# 将两个csv文件转为excel文件
df1 = pd.read_csv('csv1.csv', delimiter='\t')
df2 = pd.read_csv('csv2.csv', delimiter='\t')
df1.to_excel('csv1.xlsx', index=False)
df2.to_excel('csv2.xlsx', index=False)
# 将两个文件根据公共列column B进行合并
d1 = pd.read_excel('csv1.xlsx')
d2 = pd.read_excel('csv2.xlsx')
merged_df = pd.merge(d1, d2, on='column B') #column B为公共列列名
# 保存合并后的Excel文件(也可以转为csv文件进行保存)
merged_df.to_excel('csv1_csv2.xlsx', index=False)

合并效果:

csv1文件中有column A,columnB两列,csv2文件中有column B,columnC两列,合并后的文件为一个含column A,columnB,columnC三列的文件,需要注意的是在合并时一定要确保两个csv文件公共列列名相同,否则可能查询不到。

例:转为excel的csv1文件为:(这里为根据公共列CIDs列进行合并效果图)

 

 转为excel的csv2文件为:

 合并后文件为:

 

此方法为曲线救国版,当然如果有直线版就更好啦,如果有大神知道,就请补充一下啦~

(主要是本人不太熟练且试过一些直线方法均没有成功/(ㄒoㄒ)/~~)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值