0

我有以下格式的 CSV 文件:

Name  Seq
a     atcg
b     ggct
c     ccga

我希望为每一行创建单独的文本文件,其中命名文件基于一列命名,文件内容基于另一列。

我目前有这个代码:

import csv
with open('prac.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        file_name ='{0}.txt'.format(row['name']) 
        with open(file_name, 'w') as f:
            pass

它为每一行创建具有“名称”列中的值的文本文件。但是我不确定如何将“Seq”列写入每个文本文件。

4

1 回答 1

1

你非常接近:

import csv
with open('prac.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        print(row)                              #you can remove this, see below
        file_name ='{0}.txt'.format(row['Name']) 
        with open(file_name, 'w') as f:
            f.write(row['Seq'])

我添加该print语句只是为了显示每个“ row”是什么;您已经Name在创建时键入file_name,您只需要Seq在编写时键入:

OrderedDict([('Name', 'a'), ('Seq', 'atcg')])
OrderedDict([('Name', 'b'), ('Seq', 'ggct')])
OrderedDict([('Name', 'c'), ('Seq', 'ccga')])
于 2020-06-16T15:48:47.413 回答