У меня есть словарь с 400 000 элементов в нем, чьими ключами являются имена ДНК и значения - последовательности ДНК. Я хочу разделить словарь на 40 текстовых файлов с 10 000 элементов в каждом из файлов.Как написать несколько файлов из словаря в python
Вот мои коды:
record_dict # my DNA dictionary
keys_in_dict #the list of the keys
for keys in keys_in_dict:
outhandle = open("D:\\Research\\Transcriptome_sequences\\input{0}.fasta".format (?????), "w")
Что я должен поставить на место (?????)
? Как закончить этот цикл?
ОБНОВЛЕНИЕ: Привет, ребята, Благодарим за помощь. Теперь я могу сделать несколько файлов из словаря. Однако, когда я пытался сделать несколько файлов непосредственно из исходного файла, вместо того чтобы сначала сделать словарь, у меня были проблемы. Коды генерируют только один файл с первым элементом в нем. Что я сделал не так? Вот мои коды:
from Bio import SeqIO
handle = open("D:/Research/Transcriptome_sequences/differentially_expressed_genes.fasta","rU")
filesize = 100 # number of entries per file
filenum = 0
itemcount = 0
for record in SeqIO.parse(handle, "fasta") :
if not itemcount % filesize:
outhandle = open("D:/Research/Transcriptome_sequences/input{0}.fasta".format(filenum), "w")
SeqIO.write(record, outhandle, "fasta")
filenum += 1
itemcount += 1
outhandle.close()
Вы только спрашиваете, как получить значение, соответствующее каждой клавише «ключи»? Это просто 'record_dict [keys]'. (Именовать переменную, которая содержит каждый ключ, по одному за раз, поскольку множественные «ключи» кажутся вводящими в заблуждение ...) – abarnert
В качестве примечания вам почти не нужен список ключей словаря; вы можете просто перебрать 'для ключа в record_dict:'. Или вы можете зациклиться на 'для ключа, значение в record_dict.items():' и не нужно делать 'record_dict [key]' внутри цикла. – abarnert
Спасибо, abarnert. Проще говоря, у меня есть большой файл с 400 000 элементов в нем, и я хочу разделить этот файл на 40 файлов меньшего размера с 10 000 наименований в каждом маленьком файле. – Gray