想把两个表格按照共有的列,进行合并,使前一个表格有,[plate,col, row, genename, jw]
表一
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')
还有不太懂的地方是,取第一列是要用[0]吗?有其他方法也请不吝赐教
你的目的也是合成一个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方法不需要