python按列合并数据_Python中基于匹配第一列的数据合并

我目前有两组数据文件,如下所示:

文件1:test1 ba ab cd dh gf

test2 fa ab cd dh gf

test3 rt ty er wq ee

test4 er rt sf sd sa

在文件2中:

^{pr2}$

我想根据第一列中的匹配行组合文件(以便“测试”匹配)

是这样的:test1 ba ab cd dh gf 123 344 123

test1 ba ab cd dh gf 234 567 787

test1 ba ab cd dh gf 221 344 566

test3 rt ty er wq ee 456 121 677

我有这个密码def combineFiles(file1,file2,outfile):

def read_file(file):

data = {}

for line in csv.reader(file):

data[line[0]] = line[1:]

return data

with open(file1, 'r') as f1, open(file2, 'r') as f2:

data1 = read_file(f1)

data2 = read_file(f2)

with open(outfile, 'w') as out:

wtr= csv.writer(out)

for key in data1.keys():

try:

wtr.writerow(((key), ','.join(data1[key]), ','.join(data2[key])))

except KeyError:

pass

但是输出结果如下:test1 ba ab cd dh gf 123 344 123

test3 er rt sf sd sa 456 121 677

有谁能帮我做输出,这样test1可以打印三次吗?在

非常感谢

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值