我有2个csv文件,其中包含PCR引物的数据。第一个文件包含有关正向引物的数据,第二个文件包含反向引物的数据。每个文件有10行和大约20列,当组合文件1和文件2中的行时,我希望将每行和每种组合生成第三个.csv。所以文件应该是100行40列。 所以文件应该是这样的 第1行:正向1,反向1。 第2行:正向1,反向2。 第3行:正向1,反向3。 .... 第41行:正向5,反向1。 一路向前10,向后10
这是我的密码:
with open(forwards) as f_csv:
read_forward = csv.reader(f_csv)
with open(reverses) as r_csv:
read_reverse = csv.reader(r_csv)
file_name = "Combinations Matrix.csv"
f = open(file_name, 'w')
for fwd in read_forward:
for rev in read_reverse:
for f_value in fwd:
f.write(f_value + ',')
for r_value in rev:
f.write(r_value + ',')
f.write('\n')
f.close()
print('done')
它第一次在外环中完美地工作。换句话说,第一次通过“read_forward”循环。但我不明白为什么当它开始“read_forward”的第二个循环时,它不会像第一次那样写组合。通过对控制台使用print语句,我发现它仍然在第一个文件的行中循环,但似乎它不再执行内部for循环。有人能帮我弄清楚吗
谢谢
撇开Bug不谈,我认为代码可以改进一点
{}的内容:
{}的内容:
执行后
'comb_data.csv'
的内容:内部CSV读取器在第一次外部迭代后耗尽。将
read_reverse
设置为:相关问题 更多 >
编程相关推荐