Python 正在分析ttoken中的行捕获值
我的目标是在纯文本文件中找到具有id的行,然后获取该id后面的标记值。在我的文件中,有100行与此类似的内容:(第5列始终是我搜索的id,第6列是我需要获取/存储两个字母表之间的数字的标记 例如,如果我正在查找id Q9C0F0,我想获取/存储值1136(介于2个字母K和N之间)。然后我想使用该数字在输出文件上打印。提前感谢 COAAD ASXL3错义突变KFGM-AA-3672 Q9C0F0 K1136N COAAD ASXL3错义突变KFGM-AA-3693 Q9C0F0 A1544E COAAD ASXL3错义突变KFGM-AA-A010 Q9C0F0 F353S COAAD ASXL3错义突变KFGM-AA-A010 Q9C0F0 L157I COAAD ASXL3错义突变KFGM-AG-3890 Q9C0F0 L1324Q COAAD ASXL3错义突变KFGM-AG-A002 Q9C0F0 H552N COAAD ASXL3错义突变KFGM-AG-A002 Q9C0F0 K471NPython 正在分析ttoken中的行捕获值,python,parsing,Python,Parsing,我的目标是在纯文本文件中找到具有id的行,然后获取该id后面的标记值。在我的文件中,有100行与此类似的内容:(第5列始终是我搜索的id,第6列是我需要获取/存储两个字母表之间的数字的标记 例如,如果我正在查找id Q9C0F0,我想获取/存储值1136(介于2个字母K和N之间)。然后我想使用该数字在输出文件上打印。提前感谢 COAAD ASXL3错义突变KFGM-AA-3672 Q9C0F0 K1136N COAAD ASXL3错义突变KFGM-AA-3693 Q9C0F0 A1544E CO
COAAD ASXL3错义突变TKFGM-AG-A002 Q9C0F0 L804M这是一种简单的方法,可能会对您有所帮助,“算法”的正确性取决于输入条件,因此您可能需要更改整数的解析并更改某些条件
with open('file') as f:
for line in f.readlines():
l = line.split()
if l and l[4] == 'Q9C0F0':
print l[5][1:-1] # or parse int in a more inteligent way
你只提到了一个匹配项,但我们可以看到包含Q9C0F0的8行。你只想要第一个匹配项吗?参考上一个问题:@badzil我想要所有的数学。可能吗?因为我需要使用这些数字,看看它是否在域范围内,并将其打印到具有正确域范围的文件中。这项工作真的很好。有办法吗o返回/存储值。我在这里尝试的是使用这些值来计算并测试它是否在我想要的范围内。您可以将您的值存储在列表中,然后处理该列表。