この形式の名前とチームを含むテキストの行がたくさんあります。
Team (year)|Surname1, Name1
例えば
Yankees (1993)|Abbot, Jim
Yankees (1994)|Abbot, Jim
Yankees (1993)|Assenmacher, Paul
Yankees (2000)|Buddies, Mike
Yankees (2000)|Canseco, Jose
など、数年といくつかのチーム。重複した名前を削除して、チーム (年) の組み合わせに従って選手の名前を集計したいと思います (元のデータベースに冗長な情報が含まれている可能性があります)。この例では、出力は次のようになります。
Yankees (1993)|Abbot, Jim|Assenmacher, Paul
Yankees (1994)|Abbot, Jim
Yankees (2000)|Buddies, Mike|Canseco, Jose
私はこれまでにこのコードを書きました:
file_in = open('filein.txt')
file_out = open('fileout.txt', 'w+')
from collections import defaultdict
teams = defaultdict(set)
for line in file_in:
items = [entry.strip() for entry in line.split('|') if entry]
team = items[0]
name = items[1]
teams[team].add(name)
最終的に、キー (チーム名と年) と値のセットで構成される大きな辞書が作成されます。しかし、物事を集計する方法が正確にはわかりません。
また、最終的な値のセットを比較することもできます (たとえば、1993 年と 1994 年のヤンキーのチームに共通する選手は何人ですか?)。これどうやってするの?
どんな助けでも大歓迎です