用python合并两个表格

问题遇到的现象和发生背景

想把两个表格按照共有的列,进行合并,使前一个表格有,[plate,col, row, genename, jw]
表一

img


表二

img

用代码块功能插入代码,请勿粘贴截图
import string, sys, time

f = open('0.00mM Reu.csv','r')
fi = open('Keio_version2.CSV','r')
fo = open('Result_colony1.txt','w')

ref_1 = {}
ref_2 = {}
for line in fi:
    l = line.split(',')
    plate_num = l[7].strip()
    row = l[9].strip()
    col = l[8].strip()
    table_name = l[13].strip()
    jw = l[16].strip()
    info = (plate_num, row, col)
    ref_1[info] = table_name
    ref_2[info] = jw

n = 0
for line in f:
    n = n + 1
    v = line.strip(',')
    p = v[1].strip()
    r = v[3].strip()
    c = v[2].strip()
    ask = (p, r, c)
    gn = ref_1.get(ask, 'no_match')
    jwr = ref_2.get(ask, 'nomatch')
    fo.write(str(p)+'\t'+str(r)+'\t'+str(c)+'\t'+str(gn)+'\t'+str(jw)+'\n')



运行结果及报错内容

img

我的解答思路和尝试过的方法

还有不太懂的地方是,取第一列是要用[0]吗?有其他方法也请不吝赐教

我想要达到的结果

img

你的目的也是合成一个csv文件吧,python操作csv这样,举个例子:(第一列就是要list[0])

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 导入CSV安装包
import csv
# 1. 创建文件对象
f = open('文件名.csv','w',encoding='utf-8')
#或者:
with open('A.csv', 'a', encoding='utf-8', newline='') as f:
# 2. 基于文件对象构建 csv写入对象
    csv_writer = csv.writer(f)
# 3. 构建列表头
    csv_writer.writerow(["姓名","年龄","性别"])
# 4. 写入csv文件内容
    csv_writer.writerow(["l",'18','男'])
    csv_writer.writerow(["c",'20','男'])
    csv_writer.writerow(["w",'22','女'])
 
# 5. 关闭文件
f.close()  # with方法不需要