Das CSV-Dateiformat ist ein Standard für den Austausch strukturierter Daten zwischen Unternehmen oder verschiedenen Softwareanwendungen. Es basiert auf Text und trennt Spalten durch Satzzeichen als Trennzeichen.

So können die Daten in einer CSV-Datei aussehen:

text
firstName, lastName, email
Joe, Vaughn, vaugh@hotmail.com
Bob, Cunnighan, bobc@gmail.com

CSV-Dateien lassen sich aus den meisten Tools exportieren, die mit Daten arbeiten – darunter CRM, Auftragsmanagementsysteme, Tabellenkalkulationen wie Google Sheets oder Microsoft Excel und Finanzsoftware. Künftig könnten einheitliche Datenmodelle den Austausch strukturierter Einträge zwischen Anwendungen erleichtern. Bis dahin sind wir auf CSV-Dateien angewiesen.

Um zwei CSV-Dateien über eine gemeinsame Spalte zusammenzuführen, importierst Du zunächst die erste Datei und legst die betreffende Spalte als eindeutig fest. Anschließend importierst Du die zweite Datei mit einer Merge-Option in dieselbe Collection. Die fertige Collection behält die ursprünglichen Zeilen bei und ergänzt passende Werte aus der zweiten Datei. Du kannst beispielsweise customers.csv (Email, Name) und jobs.csv (Email, Job Title) über Email verknüpfen. Bei einer übereinstimmenden E-Mail-Adresse erhält der bestehende Kundeneintrag einen Job Title, ohne dass eine zweite Kundenzeile entsteht.

Für die Bearbeitung von CSV-Dateien greifen viele zuerst zu einer Tabellenkalkulation. Eine CSV-Datei in Google Sheets oder Microsoft Excel zu laden, ist unkompliziert. Bei zwei einfachen Aufgaben stoßen diese Tools jedoch an ihre Grenzen:

Wenn Du lediglich zwei CSV-Exporte vergleichen und hinzugefügte, entfernte oder geänderte Zeilen erkennen möchtest, nutze statt eines Joins das CSV Diff Tool.

Bei einem Join dient eine gemeinsame Spalte dazu, Daten aus mehreren Quellen miteinander zu verknüpfen. In Tabellenkalkulationen lässt sich keine Eindeutigkeitsbedingung für eine Spalte definieren. Deshalb eignen sie sich nur eingeschränkt zum Zusammenführen oder Deduplizieren von CSV-Dateien.

Dieser Guide besteht aus zwei Teilen:

In diesem Tutorial verwenden wir zwei Demo-CSV-Dateien:

Lösung 1: CSV-Dateien mit Datablist zusammenführen

Mit Datablist lassen sich Daten unkompliziert bearbeiten. Sehen wir uns an, wie Du CSV-Dateien über eine eindeutige Kennung zusammenführst. Öffne Datablist – ohne Registrierung, um direkt loszulegen.

Schritt 1: Erste CSV-Datei laden

Erstelle zuerst eine Collection, in die alle Deine CSV-Daten importiert werden. Klicke in der Seitenleiste auf den Button +, um eine neue Collection anzulegen.

Öffne nach dem Erstellen Deiner Collection den Bereich "Import CSV".

Neue Collection erstellen

Hinweis: Die erste Zeile Deiner CSV-Datei muss die Spaltennamen enthalten.

Ziehe eine CSV-Datei per Drag-and-drop in den Importbereich oder klicke darauf, um eine Datei von Deinem Computer auszuwählen. Prüfe nach dem Laden, ob die angezeigte Vorschau die richtige Anzahl an Zeilen und Spalten enthält, bevor Du fortfährst.

Ordne Deine CSV-Spalten den Properties der Collection zu oder erstelle neue Properties.

Klicke abschließend auf den Button "Import", um den Import zu starten. Damit ist Deine erste CSV-Datei importiert!

Erste CSV-Datei importieren

Schritt 2: Spalte als eindeutige Kennung festlegen

Nachdem Du Deine erste CSV-Datei importiert hast, kannst Du für eine Property der Collection die Bedingung "Unique Values" festlegen. Anhand dieser Information führt Datablist neue CSV-Importe so zusammen, dass die Bedingung eingehalten wird. Öffne die Spaltenkonfiguration und bearbeite die Property, die als eindeutige Kennung dienen soll. Aktiviere das Attribut "Unique Values" und speichere die Änderung.

Eindeutige Werte für eine Property festlegen

Schritt 3: Weitere CSV-Dateien laden

Sobald Du eine Eindeutigkeitsbedingung für eine Property der Collection festgelegt hast, importierst Du Deine weiteren CSV-Dateien nacheinander in die bestehende Collection. Falls nötig, kannst Du beim CSV-Mapping neue Properties für die Collection erstellen.

Wenn Deine Collection bereits Einträge und eine Eindeutigkeitsbedingung enthält, kannst Du beim Import den Join-Typ und den Merging Mode auswählen. Wähle Import only matching rows, wenn Du ausschließlich bereits vorhandene Kundeneinträge ergänzen möchtest. Wähle Import all rows and match when possible, wenn nicht zugeordnete Zeilen aus der neuen Datei als neue Einträge angelegt werden sollen.

Merging Mode
Merging Mode

Lege fest, wie die Daten in der Collection zusammengeführt werden sollen:

  • Soft Merge: Füllt leere Properties des passenden Eintrags, behält aber bereits vorhandene Werte bei. Nutze diese Option, wenn die erste Datei die maßgebliche Datenquelle bleiben soll.
  • Hard Merge: Ersetzt vorhandene Property-Werte durch die Werte der passenden Zeile aus der neuen Datei. Nutze diese Option, wenn die zweite Datei aktuellere Daten enthält.

Die Option "Skip item" überspringt die Zeile, sobald in der Collection ein Eintrag mit derselben Kennung gefunden wird. Um CSV-Dateien zusammenzuführen, darf sie nicht ausgewählt sein.

Prüfe vor dem Import die Vorschau. Die Property Email muss in jeder Datei derselben Property der Collection zugeordnet sein. Leere Kennungen lassen sich nicht zuverlässig abgleichen. Doppelte Kennungen in einer Quelldatei solltest Du zudem prüfen, bevor Du sie als eindeutigen Schlüssel verwendest. Kontrolliere nach dem Import einige übereinstimmende E-Mail-Adressen und stelle sicher, dass der erwartete Job Title in der bestehenden Zeile erscheint.

CSV Join – Merge-Optionen
CSV Join – Merge-Optionen

Schritt 4: Bei Bedarf als CSV exportieren

Geschafft! 🎉 Du hast Deine CSV-Dateien erfolgreich über eine gemeinsame Spalte zusammengeführt. Wenn Du das Ergebnis in einem anderen Tool verwenden möchtest, klicke auf den Button "Export", um die Collection als neue CSV-Datei zu exportieren.

CSV-Export
CSV-Export

Video: CSV-Dateien mit Datablist zusammenführen

Im folgenden Video wird die Einstellung "Unique Values" direkt beim Erstellen der Property aktiviert.

CSV-Dateien mit Datablist über eine eindeutige Spalte zusammenführen

Lösung 2: CSV-Dateien mit Google Sheets zusammenführen

Tabellenkalkulationen unterstützen das Zusammenführen von CSV-Dateien über eine gemeinsame Spalte nur eingeschränkt. Mit einer Zellformel lässt sich jedoch eine Zeile in einer anderen Tabelle finden, die zu einem bestimmten Wert passt. Wird die Formel auf jede Zeile einer Tabelle angewendet, kann sie eine andere Tabelle durchsuchen und den Wert einer beliebigen Spalte aus der passenden Zeile zurückgeben.

Die Formel heißt VLOOKUP und ist sowohl in Microsoft Excel als auch in Google Sheets verfügbar.

Einschränkungen

  • Bei Tabellenkalkulationen dient eine CSV-Datei als Master-Tabelle und muss alle möglichen Werte der Join-Spalte enthalten.
  • In allen sekundären Tabellen muss die Join-Spalte an erster Stelle stehen.

Schritt 1: CSV-Dateien laden

In diesem Tutorial verwenden wir Google Sheets. Die Formel VLOOKUP funktioniert in Microsoft Excel ähnlich.

Wähle aus Deinen CSV-Dateien diejenige mit den meisten Werten als Master-Tabelle aus. Die übrigen Dateien bezeichnen wir als sekundäre CSV-Dateien.

Lade zuerst Deine Master-CSV über File -> Import und wähle die gewünschte CSV-Datei aus. Öffne den Tab Upload, wenn Du eine Datei von Deinem Computer verwenden möchtest.

Wähle unter Import Location die Option Insert new sheet(s).

CSV-Datei in Google Sheets laden
CSV-Datei in Google Sheets laden

Wiederhole diesen Vorgang für Deine sekundären CSV-Dateien. Jede CSV-Datei muss in eine eigene Tabelle innerhalb der Tabellenkalkulation hochgeladen werden.

In Google Sheets importierte CSV-Dateien
In Google Sheets importierte CSV-Dateien

Schritt 2: Neue Spalten im Master-Sheet erstellen

Die Tabelle mit Deiner Master-CSV ist die Master-Tabelle. Sie nimmt die Werte aus den anderen Tabellen auf. Erstelle darin neue Spalten für die Daten aus Deinen weiteren Tabellen.

In diesem Tutorial möchten wir die Daten aus der Spalte Job Title unserer sekundären Tabelle in die Master-Tabelle übernehmen. Deshalb fügen wir eine leere Spalte Job Title hinzu.

Neue Spalte Job Title
Neue Spalte Job Title

Schritt 3: Eindeutige Spalte nach vorn verschieben

Die Formel VLOOKUP sucht in der ersten Spalte des angegebenen Tabellenbereichs. Verschiebe deshalb in allen sekundären Tabellen die gewünschte Join-Spalte an die erste Position. In der Master-Tabelle ist das nicht nötig.

Kennung muss in der ersten Spalte stehen
Kennung muss in der ersten Spalte stehen

Schritt 4: VLOOKUP-Formel verwenden

Im letzten Schritt verwendest Du die Formel VLOOKUP, um passende Zeilen in den anderen Tabellen zu finden und einen Wert aus der gefundenen Zeile anzuzeigen.

Die Formel erwartet vier Argumente. Das letzte legt fest, ob für die Suche sortierte Daten vorausgesetzt werden:

  • search_key – Der gesuchte Wert. Hier verwendest Du den Wert der eindeutigen Kennung aus der jeweiligen Zeile.
  • range – Der Tabellenbereich, in dem gesucht wird. Die erste Spalte dieses Bereichs wird nach dem unter search_key angegebenen Schlüssel durchsucht. Wähle Deine gesamte sekundäre Tabelle als Bereich aus (siehe Video).
  • index – Der Index der Spalte, deren Wert zurückgegeben werden soll. Die erste Spalte des Bereichs hat die Nummer 1.
  • is_sorted – [Standardmäßig TRUE] – Gibt an, ob die zu durchsuchende Spalte, also die erste Spalte des angegebenen Bereichs, sortiert ist. In den meisten Fällen empfiehlt sich FALSE. Wenn Du TRUE verwendest, obwohl Deine Daten nicht sortiert sind, erhältst Du falsche Ergebnisse!
VLOOKUP(search_key, range, index, [is_sorted])

Das folgende Video zeigt Dir, wie Du mit VLOOKUP Daten über eine eindeutige Spalte zusammenführst:

CSV-Dateien mit Google Sheets über eine eindeutige Spalte zusammenführen

Mehr über die VLOOKUP-Formel erfährst Du in der Dokumentation von Google Sheets.

Wiederhole den Vorgang für jede weitere Spalte aus Deinen sekundären Tabellen 💪.