我有下面两排
Tp1g00130_scaffold_1 blastn exon 20495 20602 . + .
Tp1g00130_scaffold_1 blastn exon 20650 20804 . + .
我要做的是合并两行的seq start(第1行的第3列)和seq end(第2行的第4列),如果它们具有相同的ID(第1列)。例如,输出如下
Tp1g00130_scaffold_1 blastn exon 20495 20804 . + .
我开了一个好头,但不能完全完成。你知道吗
prev = None
with open("test_parse") as fh_in:
for line in fh_in:
line = line.strip()
line = line.split()
line_id = line[0]
print line
if prev is not None and prev == line_id:
print "yes"
prev = line_id
有什么帮助吗?你知道吗
你就快到了。你知道吗
与其
prev
只是id
,不如让它成为最后一行。这允许我们检查existance和id(if prev and prev[0] == line[0]:
),并获取seq start和seq end(print('{} -> {}'.format(prev[3], line[4]))
)。你知道吗如果文件中有标题行,可以使用DictReader。你知道吗
对于标题为x、y和z列的文件,可以执行以下操作:
它所属的csv模块通常非常有用。你知道吗
如果你的文件很小,你可以使用一个临时的dict
相关问题 更多 >
编程相关推荐