我有一个数据文件,其中包含一个序列列表,每个序列有6个氨基酸。如下所示:
QDFRGETW
AQAVRSSS
ANGVELRD我想基本上将这个文件转换为:
QAN
DQN
FAG
RVV
GRE
....
WSD使用简单的for循环和while循环。
以下是我尝试过的有效方法。
i2 = ''
with open('datafile','r') as f:
for line in f:
i2 += line[2]我要做的是遍历索引,并将每个新字符串添加到字典中。所以我决定试试这个。
Dict = {}
i = 0
seq = ''
with open ('datafile','r') as f:
while i <= 7:
for line in f:
seq += line[i]
Dict[i] = seq
i += 1但是,当我打印字典时,它只显示,例如:{0:QAN},而不显示其他内容。如果我减少Dict[i]上的缩进,它现在有所有的键,但QAN值,而不是1:DQN等…
奇怪的是,即使我输入以下代码:
seq = ''
i = 0
with open ('datafile','r') as f:
while i <= 7:
for line in f:
seq += line[i]
i += 1
print seq如果也返回QAN,而不是WSD,正如我所想的那样。因此,while循环存在问题。有什么想法吗?
发布于 2019-06-04 13:23:05
下面的代码应该可以工作。input_file.txt是包含文本的文件。我认为,预期输出中的第一行必须是QAA。
for line in zip(*open('input_file.txt').readlines()):
print(''.join(line))输出:
QAA
DQN
FAG
RVV
GRE
ESL
TSR
WSDhttps://stackoverflow.com/questions/56437684
复制相似问题