假设我们有以下包含 a 列和 b 列的文本文件:
D000001 T109
D000001 T195
D000002 T115
D000002 T131
D000003 T073
D000004 T170
我想知道如何产生以下结构:
D000001 T109 T195
D000002 T115 T131
D000003 T073
D000004 T170
下面粘贴的是 Python 的初始框架。
from __future__ import print_function
with open('descr2semtype_short.txt') as f:
for line in f:
line = line.rstrip()
a, b = line.split()
print(a + ' ' + b)
请您参考如下方法:
你可以使用itertools.groupby:
import itertools, operator
with open('descr2semtype_short.txt') as f:
for key, items in itertools.groupby(
(line.rstrip().split(None,1) for line in f),
operator.itemgetter(0)):
print(key, ' '.join(item[1] for item in items))
它给出了所需的输出:
D000001 T109 T195
D000002 T115 T131
D000003 T073
D000004 T170
