2017-01-25 5 views
0

Ich habe eine eindeutige Flat-Datei wie folgt. IDs und Namen werden durch Tab getrennt und das folgende zweite Feld mehr durch Komma getrennte Werte hat:Liefern eindeutige Treffer aus einer Spalte mit mehreren Werten

ID1 \t name1,name2,name3 
ID2 \t name1,name1,name1,name4 
ID3 \t name1,name2,name2,name3 

ich nach einem Weg suche das zweite Feld zu trimmen, so dass jeder Name einmal kommt nur pro Zeile. Wie so:

ID1 \t name1,name2,name3 
ID2 \t name1,name4 
ID3 \t name1,name2,name3 
+2

Dies scheint relativ einfach. Was ist falsch gelaufen, als du es versucht hast? – DSM

+0

Was hast du probiert? – Inian

+0

Ich habe den Mann für Sortieren und uniq gelesen, da das ist, was ich vorher verwendete, aber konnte nicht einen Weg finden, es zu arbeiten. @ Trelzevir Lösung ist toll, ich habe keine Ahnung, warum ich nicht daran gedacht habe –

Antwort

2

Sobald Sie das zweite Feld erhalten haben, verwenden set():

set(["name1","name1","name1","name4"]) 

Returns:

{'name1', 'name4'} 
+0

Ah, danke! Ehrlich, ich habe keine Ahnung, warum ich nicht daran gedacht habe. –

Verwandte Themen