【发布时间】:2020-01-07 20:37:29
【问题描述】:
我有 2 个 csv 文件,其中包含有关 PCR 引物的数据。第一个文件包含有关正向引物的数据,第二个是反向引物的数据。每个文件有 10 行和大约 20 列,当组合来自文件 1 和文件 2 的行时,我想使用每一行并使用每个组合制作第三个 .csv。所以文件应该是 100 行和 40 列。 所以文件应该看起来像这样 第 1 行:正向 1,反向 1。 第 2 行:正向 1,反向 2。 第 3 行:正向 1,反向 3。 …… 第 41 行:forward5,reverse1。 一路向前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”的第二个循环时,它不会像第一次那样写入组合。使用控制台的打印语句,我发现它仍在循环第一个文件的行,但似乎它没有再次执行内部 for 循环。有人可以帮我解决这个问题吗?
谢谢!
【问题讨论】:
-
你能为一个可运行的、有代表性的例子提供足够的数据吗?请参阅:minimal reproducible example。
-
我忘了补充一点,分享更多你的程序也应该很有用。
标签: python csv for-loop combinations