python - 如何在Python中从字典写入多个文件

标签 python dictionary

我有一本字典,里面有 400,000 个项目,其键是 DNA 名称,值是 DNA 序列。 我想将字典分成 40 个文本文件,每个文件中有 10,000 个项目。

这是我的代码:

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()

最佳答案

n = 10000
sections = (record_dict.items()[i:i+n] for i in xrange(0,len(record_dict),n))
for ind, sec in enumerate(sections):
    with open("D:/Research/Transcriptome_sequences/input{0}.fasta".format(ind), "w") as f1:
        for k,v in sec:
            f1.write("{} {}\n".format(k,v))

关于python - 如何在Python中从字典写入多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26856026/

相关文章:

python - 将元组列表更改为字典(pythonic 方式)

java - 从 Map[String,Any] 类型的 Scala 映射中提取值,其中 Any 可以是 Map 本身

dictionary - 有没有更惯用的方式在 Kotlin 中初始化这个 map ?

python - 在python中生成索引列表的方式之间的区别

python - 使用 pyodbc 连接到 MS Access 2007 (.accdb) 数据库

python - 计算所有满足 Python 条件的

C# 字符串替换为字典

python - '|' 和 '<' 在 numpy 类型中意味着什么?

python - 调试在 chroot 环境中执行的 python 脚本

java - 不区分大小写的字符串作为 HashMap 键