0

テキストファイルには次のような約50万行があります(サンプルスニペット)-

1,Party-120273.gif,16256,23ss423
2,Party-120275.gif,16456,23423
3,Party-120273.gif,12656,232423
4,Party-120273.gif,165236,2312423
5,Party-120276.gif,165236,2312423

2 番目の値の列に基づいて、ファイル内の行の重複を削除するにはどうすればよいですか。たとえば、上記の行で、Party-120273.gifを含む重複する行を削除します。最初に出現したものは削除しないでおく必要があります。したがって、出力は次のようになります-

1,Party-120273.gif,16256,23ss423
2,Party-120275.gif,16456,23423
5,Party-120276.gif,165236,2312423

ファイル全体に対してこれを行う必要があり、2 列目に値が繰り返される重複行を削除します。Pythonでこれを行うにはどうすればよいですか?

4

1 に答える 1

4

それはPythonである必要がありますか?使用しない理由sort(1):

sort --field-separator=, --key=2,2 --unique < file

それでも Python で実行したい場合は、csvモジュールを見て行を解析します。

seenKeys = set()
for row in reader:
    if row[1] in seenKeys: continue

    seenKeys.add( row[1] )
    print ', '.join(row)
于 2012-10-18T09:49:43.880 に答える