我有一个用python读取的文本文件。我试图从文本文件中提取关键字后面的某些元素,将它们附加到空列表中。文件如下所示:
所以我想列两张空名单
第一个列表将附加序列名
第二个列表是一个列表列表,其格式为[Bacteria,Phylum,Class,Order, Family, Genus, Species]
大多数生物都是未经培养的细菌。我正在尝试添加未培养的细菌,其ID由以下ID分隔;
是否有必要扫描某个单词,当找到该单词时,取其后面的单词[用'\t'分隔]?
我需要它来创建一个序列名的字典来翻译成分类数据。在
我知道我需要一个空列表来附加姓名:
seq_names=[ ]
将分类列表放入的第二个列表
^{pr2}$以及在每次迭代后将重置的第三个列表
temp = [ ]
我相信在Biopython中可以做到,但我正在努力提高我的python技能
听起来你可能需要一个按序列名索引的字典。例如
然后,您只需访问
my_data['some_sequence']
来提取关于该序列的数据。在为了填充您的数据结构,我只需循环文件行,
.split('\t')
将它们分成“列”,然后执行类似my_data[the_row[0]] = [the_row[10], the_row[11], the_row[13]...]
的操作将行加载到字典中。在所以
^{pr2}$是的,有办法。在
可以使用内置函数split将从文件读取到的字符串拆分为数组。从这里你可以找到你要找的单词的索引,然后用这个索引加一得到后面的单词。例如,使用名为测试文本看起来是这样(格式有点奇怪,因为so似乎不喜欢硬标签)。在
以下代码
^{pr2}$将返回所需的“8”
编辑:返回列表中的每个单词
这是使用列表理解。它枚举单词列表,如果该单词是您要查找的,则将该单词包含在列表的下一个索引处。在
编辑2:要在新行和制表符上拆分它,可以使用正则表达式
相关问题 更多 >
编程相关推荐