Heim  >  Artikel  >  Java  >  Vergleichen Sie große CSV-Dateien #eg38

Vergleichen Sie große CSV-Dateien #eg38

PHPz
PHPzOriginal
2024-09-10 16:31:02953Durchsuche

Hier sind zwei CSV-Dateien (A und B) mit derselben Struktur. Beide verwenden KEY_A, KEY_B und KEY_C als Primärschlüssel und die beiden haben unterschiedliche Datensätze.

Compare large csv files #eg38
Verwenden Sie Java, um die beiden Dateien auf drei Arten zu vergleichen und die Ergebnisse jeweils in neue CSV-Dateien zu schreiben. 1. Suchen Sie Datensätze, bei denen die Primärschlüssel gleich und die Werte der anderen Felder ungleich sind, geben Sie deren Primärschlüssel und dann die anderen Felder von A und die anderen Felder in B aus. Unten ist das erwartete Ergebnis:

Compare large csv files #eg38

  1. Finden Sie die Differenz zwischen A und B, d. h. Datensätze, die in A, aber nicht in B vorhanden sind, entsprechend dem Primärschlüssel. Unten ist das erwartete Ergebnis:

Compare large csv files #eg38

  1. Finden Sie die Differenz von B und A anhand des Primärschlüssels. Unten ist das erwartete Ergebnis:

Compare large csv files #eg38
Schreiben Sie SPL-Code, um die drei Vergleiche durchzuführen. Unten finden Sie den ersten Vergleich:

Compare large csv files #eg38

Compare large csv files #eg38

Compare large csv files #eg38
Die Funktion T() analysiert eine CSV-Datei oder schreibt Daten in eine CSV-Datei. Mit der Option @c können Sie mithilfe des Cursors Daten aus einer Datei abrufen, die nicht in den Speicher passt. Die Funktion sortx() sortiert Daten in einem Cursor. Die Funktion „joinx()“ führt einen Merge-Join durch. Funktion merge() führt Datensätze zusammen; Die Option @d ermöglicht das Finden des Unterschieds.

Lesen Sie So rufen Sie ein SPL-Skript in Java auf, um herauszufinden, wie Sie SPL in eine Java-Anwendung integrieren.

Dies ist eines der Probleme bei StackOverflow. Wenn Sie darauf klicken, sehen Sie, dass die herkömmliche Lösung ziemlich kompliziert ist, der SPL-Ansatz jedoch wirklich einfach und effizient ist.

SPL-Open-Source-Adresse

Das obige ist der detaillierte Inhalt vonVergleichen Sie große CSV-Dateien #eg38. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn