Напишите текстовый файл для каждой строки в CSV
У меня есть файл 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" в каждый текстовый файл.
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')])