Skript, um Duplikate in einer CSV-Datei zu finden

8

Ich habe eine 40 MB CSV-Datei mit 50.000 Datensätzen. Es ist eine riesige Produktliste. Jede Zeile hat fast 20 Felder. [Artikel-Nr., UPC, Desc usw.]

Wie kann ich,

a) Suchen und drucken Sie doppelte Zeilen. [Diese Datei ist eine große angehängte Datei, also habe ich mehrere Header in der Datei, die ich entfernen muss, also wollte ich genaue Zeilen wissen, die zuerst dupliziert werden.]

b) Suchen und drucken Sie doppelte Zeilen basierend auf einer Spalte. [Prüfen Sie, ob ein UPC mehreren Produkten zugeordnet ist]

Ich muss den Befehl oder das Skript auf dem Server ausführen, und ich habe Perl und Python installiert. Selbst ein Bash-Skript oder Befehl funktioniert auch für mich.

Ich muss die Reihenfolge der Zeilen nicht beibehalten. usw.

Ich habe es versucht,

  

sort largefile.csv | uniq -d

um die Duplikate zu bekommen, aber ich bekomme nicht die erwartete Antwort.

Idealerweise hätte ich gerne ein Skript oder einen Befehl, aber wenn jemand einen anderen Vorschlag hat, wäre das auch großartig.

Danke

Siehe: Entfernen Sie doppelte Zeilen aus einer großen Datei in Python über Stack Overflow

    
Community 04.11.2010, 03:29
quelle

5 Antworten

8

Suchen und drucken Sie doppelte Zeilen in Perl:

%Vor%

Suchen und drucken Sie Zeilen mit doppelten Spalten in Perl. Sagen wir die 5. Spalte, wo Felder durch Kommas getrennt sind:

%Vor%     
mob 04.11.2010 15:25
quelle
8

Versuchen Sie Folgendes:

%Vor%

uniq ist ein sehr einfacher Befehl und meldet nur Eindeutigkeiten / Duplikate, die nebeneinander sind .

    
Morten 11.09.2013 08:22
quelle
2

Sie können möglicherweise die SQLite-Shell verwenden, um Ihre CSV-Datei zu importieren und Indizes zu erstellen, um SQL-Befehle schneller auszuführen.

    
Benoit 04.11.2010 10:37
quelle
1

Hier mein (sehr einfaches) Skript, um es mit Ruby & amp; Rake Gem.

Erstellen Sie zuerst eine RakeFile und schreiben Sie diesen Code:

%Vor%

Dann um es in der ersten Spalte zu verwenden

%Vor%

Und es auf der zweiten (zum Beispiel)

zu verwenden %Vor%     
RousseauAlexandre 07.04.2017 07:46
quelle
0

Für den zweiten Teil: Lesen Sie die Datei mit Text :: CSV in einen Hash-Schlüssel auf Ihrem eindeutigen Schlüssel, prüfen Sie, ob ein Wert für den Hash vor dem Hinzufügen vorhanden ist. Etwas wie das:

data (muss nicht sortiert werden), in diesem Beispiel müssen die ersten beiden Spalten eindeutig sein:

%Vor%

code:

%Vor%

Was druckt so etwas aus:

%Vor%     
MkV 04.11.2010 15:46
quelle

Tags und Links