for line in open('sourcefile'):
    key, val = line.split('\t')
items[key].append(val)
result = open('result', 'w')
for k in sorted(items):
    result.write('%s\t%s\n' % (k, ';'.join(items[k])))
result.close()
объединить несколько строк в одну строку по значению столбца