CSV-Diff-Vergleich

Vergleichen Sie zwei CSV-Dateien und sehen Sie sofort hinzugefügte, entfernte und geänderte Zeilen. Wählen Sie eine beliebige Spalte als Schlüssel für die Zeilenzuordnung, vergleichen Sie Werte vorher/nachher und selbst CSVs mit unterschiedlichem Spaltenaufbau. Alles läuft direkt im Browser.

Was ist ein CSV-Diff-Vergleich?

Ein CSV-Diff-Vergleich stellt zwei CSV- (oder TSV-)Datensätze Spalte für Spalte und Zeile für Zeile gegenüber und ermittelt automatisch "hinzugefügte Zeilen", "entfernte Zeilen" und "Zellen, deren Wert sich geändert hat". Ein klassischer zeilenbasierter Text-Diff, wie ihn etwa Git verwendet, kann nur feststellen, dass eine gesamte Zeile hinzugekommen oder verschwunden ist. Dieses Tool hingegen ordnet Zeilen zunächst anhand einer Schlüsselspalte (also einer Spalte, die einer ID oder einem Primärschlüssel entspricht) einander zu und vergleicht anschließend jede Zelle einzeln. Dadurch lässt sich innerhalb derselben Zeile exakt bestimmen, in welcher Spalte sich der Wert tatsächlich verändert hat.

Die eingegebenen CSV-Daten werden ausschließlich per JavaScript im Browser verarbeitet und zu keinem Zeitpunkt an einen Server übertragen. Sie können also auch Mitgliederdaten, Umsatzzahlen oder andere vertrauliche Informationen bedenkenlos vergleichen, ohne dass diese Ihren Rechner verlassen. Ein weiterer Vorteil: Selbst wenn sich die Reihenfolge oder die Anzahl der Spalten zwischen beiden CSVs unterscheidet, ordnet das Tool die Spalten automatisch anhand der Kopfzeilennamen einander zu, sodass ein direkter Vergleich trotzdem möglich ist.

So verwenden Sie den CSV-Diff-Vergleich

  1. Ausgangs-CSV (A) und Ziel-CSV (B) bereitstellen Fügen Sie links die CSV-Daten vor der Änderung und rechts die CSV-Daten nach der Änderung direkt ein, oder laden Sie über "Datei auswählen" jeweils eine CSV- bzw. TSV-Datei hoch.
  2. Das passende Trennzeichen wählen Stellen Sie je nach Format Ihrer Daten das Trennzeichen auf Komma für CSV oder auf Tabulator für tabgetrennte TSV-Dateien um.
  3. Angeben, ob eine Kopfzeile vorhanden ist Enthält die erste Zeile die Spaltennamen, aktivieren Sie "Erste Zeile als Kopfzeile behandeln". Fehlt eine Kopfzeile, deaktivieren Sie diese Option, und es werden automatisch fortlaufende Spaltennamen wie col1, col2 usw. vergeben.
  4. Die Schlüsselspalte auswählen Wählen Sie über das Dropdown-Menü die Spalte aus, die einzelne Zeilen eindeutig identifiziert, etwa eine ID- oder Primärschlüsselspalte. Anhand der Werte dieser Spalte werden die Zeilen aus A und B einander zugeordnet.
  5. Das Vergleichsergebnis prüfen Die Bereiche "Entfernte Zeilen", "Hinzugefügte Zeilen" und "Geänderte Zeilen" werden automatisch aufgelistet. Bei geänderten Zeilen werden für jede betroffene Spalte der Wert vor und nach der Änderung nebeneinander angezeigt.

Tipps für die Nutzung

  • Standardmäßig wird die erste Spalte als Schlüsselspalte verwendet. Haben Ihre Daten aber eine ID- oder Primärschlüsselspalte, wählen Sie diese aus – Zeilen werden dann auch bei geänderter Reihenfolge oder Anzahl korrekt zugeordnet.
  • Haben beide CSVs keine Kopfzeile, deaktivieren Sie "Erste Zeile als Kopfzeile behandeln", damit automatisch generierte Namen wie col1, col2 usw. zum Vergleich verwendet werden.
  • Der Abschnitt "Geänderte Zeilen" vergleicht übereinstimmende Zeilen Spalte für Spalte und listet nur die abweichenden Spalten im Format "vorher zu nachher" auf.
  • Auch TSV-Dateien (tabgetrennt) funktionieren – einfach das Trennzeichen auf "Tabulator" umstellen und die Daten unverändert einfügen.
  • Statt eine Datei hochzuladen, können Sie auch einen direkt aus Excel oder Google Sheets kopierten Bereich einfügen; der Vergleich funktioniert genauso gut.

Anwendungsfälle für den CSV-Diff-Vergleich

Prüfung von Stammdaten vor und nach einer Aktualisierung

Exportieren Sie Produkt- oder Kundenstammdaten als CSV und vergleichen Sie den Stand vor und nach einer Pflegeaktion, um unbeabsichtigte Änderungen zuverlässig aufzudecken.

Datenabgleich bei einer Systemmigration

Vergleichen Sie die aus dem alten und dem neuen System exportierten CSV-Dateien, um bei der Migration verlorene oder doppelt vorhandene Datensätze zu erkennen – ein klassischer Anwendungsfall für den Datenabgleich.

Verifikation von Batch-Verarbeitungsergebnissen

Exportieren Sie Tabellen vor und nach einem täglichen oder monatlichen Batch-Lauf als CSV, um zu prüfen, ob tatsächlich nur die erwarteten Zeilen hinzugefügt oder aktualisiert wurden.

Kontrolle von Änderungen in Tabellenkalkulationen

Fügen Sie aus Excel oder Google Sheets kopierte Tabellenbereiche ein, um bei gemeinsam bearbeiteten Dokumenten schnell herauszufinden, welche Zellen von wem geändert wurden.

Überwachung von API- oder Scraping-Ergebnissen

Wandeln Sie regelmäßig über eine API abgerufene Daten in CSV um und vergleichen Sie sie täglich, um nachzuverfolgen, wann sich bestimmte Werte wie Preise oder Lagerbestände geändert haben.

Glossar zum CSV-Diff-Vergleich

Schlüsselspalte
Die Spalte, anhand derer eine Zeile eindeutig identifiziert wird. Geben Sie eine Spalte an, die einer ID oder einem Primärschlüssel entspricht, damit einander entsprechende Zeilen auch bei geänderter Reihenfolge korrekt zugeordnet werden.
Kopfzeile
Die erste Zeile einer CSV-Datei, die die Namen der einzelnen Spalten angibt. Ist "Erste Zeile als Kopfzeile behandeln" aktiviert, wird diese Zeile vom eigentlichen Vergleich ausgeschlossen und stattdessen als Spaltenbezeichnung verwendet.
Trennzeichen (Delimiter)
Das Zeichen, mit dem die einzelnen Werte innerhalb einer Zeile voneinander abgegrenzt werden. Standardmäßig ist dies das Komma, doch auch tabgetrennte TSV-Dateien lassen sich mit demselben Mechanismus vergleichen.
Zusammengeführte Spaltenliste
Eine aus den Kopfzeilen von Ausgangs-CSV (A) und Ziel-CSV (B) gebildete Gesamtliste aller Spaltennamen. Sie orientiert sich an der Spaltenreihenfolge von A und hängt Spalten, die nur in B vorkommen, an das Ende an. Existiert eine Spalte nur in einer der beiden Dateien, wird ihr Wert in der jeweils anderen Datei beim Vergleich als leer behandelt.
Geänderte Zelle
Eine Zelle, deren Wert sich beim spaltenweisen Vergleich zweier Zeilen mit identischem Schlüssel unterscheidet. Der Wert vor der Änderung (A) und nach der Änderung (B) werden direkt nebeneinander dargestellt.
Unveränderte Zeile
Eine Zeile, die sowohl in der Ausgangs- als auch in der Ziel-CSV vorhanden ist und bei der die Werte sämtlicher Spalten vollständig übereinstimmen. Solche Zeilen erscheinen nicht in der Detailliste, sondern werden lediglich als Anzahl in der Zusammenfassung ausgewiesen.

Häufig gestellte Fragen

Er wird häufig genutzt, um exportierte Stammdaten vor und nach einem Update zu vergleichen oder die Datenkonsistenz vor und nach einer Systemmigration zu prüfen. Selbst bei großen CSVs lassen sich hinzugefügte, entfernte oder geänderte Zeilen sofort erkennen – deutlich schneller als ein zeilenweiser Sichtvergleich.

Ja. Zeilen werden anhand des Werts der gewählten Schlüsselspalte zugeordnet, sodass Zeilen mit demselben Schlüssel auch bei unterschiedlicher Reihenfolge in beiden Dateien korrekt verglichen werden. Kommt ein Schlüsselwert mehrfach vor, hat die später auftretende Zeile Vorrang.

Ja. Der Vergleich basiert auf einer aus beiden Kopfzeilen zusammengesetzten Spaltenliste, sodass Spalten auch bei abweichender Reihenfolge anhand ihres Namens korrekt zugeordnet werden. Eine Spalte, die nur in einer Datei existiert, wird beim Berechnen der Differenz in der anderen als leerer Wert behandelt.

Nein. Die gesamte Vergleichslogik läuft vollständig in JavaScript in Ihrem Browser ab, und eingegebene oder hochgeladene Inhalte werden niemals an einen Server übertragen – auch sensible Daten können Sie so bedenkenlos verwenden.

Ja. Zellwerte werden als exakte Zeichenketten verglichen, sodass Unterschiede bei Groß-/Kleinschreibung oder überflüssige Leerzeichen am Anfang/Ende als Änderung markiert werden. Möchten Sie solche Formatierungsunterschiede ignorieren, normalisieren Sie Ihre Daten vorher entsprechend.
Tool-kun

Übrigens – warum ein reiner Text-Diff bei CSV-Dateien nicht ausreicht

Der Vergleich zweier CSV-Dateien geschah traditionell durch das Nebeneinanderlegen zweier Tabellen in Excel oder durch einen zeilenbasierten Text-Diff mit einem Tool wie Git. Da aber jede CSV-Zeile mehrere durch Kommas getrennte Werte bündelt, kann ein zeilenbasierter Diff nur zeigen, dass sich "die Zeile" geändert hat – nicht, welche einzelne Spalte konkret betroffen ist. Genau diese Lücke schließt dieses Tool, indem es Unterschiede auf Zellenebene identifiziert.

In Unternehmenssystemen ist das Exportieren von Datenbanktabellen als CSV zum Vergleichen – oft als Datenabgleich bezeichnet – eine Routineaufgabe. Um zu prüfen, ob Daten vor und nach einer Migration exakt übereinstimmen, oder ob ein monatlicher Batch-Lauf das erwartete Ergebnis geliefert hat, sind häufig Tausende bis Zehntausende Zeilen im Spiel. In dieser Größenordnung wird ein maschineller Zeilenabgleich über eine Schlüsselspalte unverzichtbar.

Diff-Algorithmen von Versionskontrollsystemen wie Git (etwa der Myers-Diff-Algorithmus) erkennen zeilenweise Hinzufügungen und Löschungen hervorragend, sind für CSV-Daten aber nicht immer optimal, wenn sich in "derselben Zeile" nur der Wert einer oder zweier Spalten ändert. Der Ansatz dieses Tools – Zeilen zunächst per Schlüssel zuzuordnen und dann Zelle für Zelle zu vergleichen – ist speziell auf tabellarische Daten zugeschnitten.