Script um Duplikate zu finden, in einer csv-Datei

Habe ich eine 40 MB csv-Datei mit 50.000 Datensätzen. Seine eine riesige Produkt-listing. Jede Zeile hat knapp 20 Felder. [Item#, UPC, Desc, etc]

Wie kann ich,

a) Finden und Drucken Sie doppelte Zeilen. [Diese Datei ist eine große Datei angehängt, so habe ich mehrere Header in der Datei enthalten, die ich entfernen müssen, daher wollte ich wissen, exakt die Zeilen, die doppelte erste.]

b) Finden und Drucken Sie doppelte Zeilen basierend auf einer Spalte. [Sehen Sie, wenn ein UPC zugeordnet ist, mehrere Produkte]

Muss ich den Befehl ausführen oder Skript auf dem server und ich habe Perl und Python installiert. Auch bash-Skript oder Befehl funktioniert auch bei mir.

Ich keine Notwendigkeit, beibehalten der Reihenfolge der Zeilen. etc

Habe ich versucht,

Art largefile.csv | uniq -d

um die Duplikate, Aber ich bin nicht immer die erwartete Antwort.

Idealerweise würde ich gerne bash-Skript oder ein Befehl, aber wenn einer einen anderen Vorschlag, das wäre großartig.

Dank


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

  • warum nicht uniq -d geben Sie die erwartete Antwort?
  • Sie sollten zeigen einige Beispiel-Daten (sanitized falls erforderlich), einschließlich, was Sie betrachten, um Duplikate und nicht-Duplikate. Speziell, wenn das erste Feld (item#) ist anders, aber das zweite Feld (UPC) ist das gleiche oder, wenn das ganze Album ist der gleiche, etc. Sie sollten auch konkreter sein, über das, was "ich bin nicht immer die erwartete Antwort" bedeutet. uniq sieht nur die ganze Zeile, es sei denn, Sie sagen, es zu überspringen, Teil der Zeile (aber nicht verwenden Sie Kommas als Trennzeichen). Auch CSV-Dateien kann schwierig sein zu behandeln, es sei denn, Sie sind mit tools für den Zweck gemacht wird (z.B. eine Python-lib).
InformationsquelleAutor | 2010-11-04
Schreibe einen Kommentar