CSV-Dateien zusammenführen
Dieser Füger kombiniert mehrere CSV-Dateien zu einer, indem er Spalten nach Header-Namen statt nach Position ausrichtet: der Ausgabe-Header ist die Vereinigung aller Spalten der Dateien, und Zeilen füllen die Werte, die sie haben, und lassen die anderen leer. Das Parsen und Schreiben erfolgt in Ihrem Browser; die Dateien werden niemals hochgeladen.
CSV-Dateien zusammenführen erklärt
Zwei Exporte desselben Datensatztyps stimmen selten in den Spalten überein – die eine hat Name und E-Mail, die andere Name und Firma. Das Stapeln davon ist, wie falsche Dateien entstehen: Zeilen landen unter dem Header, der zufällig darüber steht, und eine Spalte namens E-Mail sammelt still die Firmenwerte einer anderen Person. Die Lösung ist, Spalten nach Namen zu vereinigen und jede Zeile über den Header der eigenen Datei neu zuzuordnen.
Genau das tut dieser Füger. Der Ausgabe-Header ist die geordnete Vereinigung – die Spalten der ersten Datei in ihrer Reihenfolge, dann jede neue Spalte, sobald sie in einer Datei erscheint. Jede Zeile wird gegen diese Vereinigung geschrieben, wobei Werte aus den Spalten der eigenen Datei genommen und die restlichen leer gelassen werden. Die Ausgabe erfolgt gemäß RFC 4180: Kommas, Felder nur bei Bedarf in Anführungszeichen, Zeilenenden mit CRLF.
Mehrere Dateien bleiben lokal. Hängen Sie sie mit dem Dateiauswähler an – die File-API des Browsers liest sie in den Speicher dieses Tabs – oder fügen Sie sie ein, getrennt durch eine Zeile, die nur --- enthält. Nichts wird irgendwo gesendet; es gibt keinen Upload-Schritt, weil keiner existiert.
Die Anführungszeichen-, CRLF- und Escaping-Regeln, denen die zusammengeführte Ausgabe folgt, sind in verständlicher Sprache in der RFC-4180-Leitfaden des Portals beschrieben – lohnt sich fünf Minuten, bevor Sie eine Pipeline auf CSV aufbauen.
Sobald die Dateien eine Tabelle bilden, ist der übliche nächste Schritt Datensätze, die ein Skript verarbeiten kann, und der CSV-zu-JSON-Konverter macht daraus einen Klick-Folgeschritt.
Vereinigung nach Name, nicht nach Position
Der Unterschied klingt akademisch, bis er eine Datei rettet. Angenommen, Datei eins hat die Spalten name, email und Datei zwei name, company. Der vereinigte Header ist name, email, company – zuerst die Spalten von Datei eins, dann die neue Spalte. Ada-Zeile füllt email; Grace-Zeile füllt company; jede lässt die andere leer. Das durchgerechnete Beispiel unten zeigt genau dieses Paar.
Da die Zuordnung über den Header der jeweiligen Datei läuft, ist die Spaltenreihenfolge innerhalb einer Datei irrelevant: Datei zwei könnte als company, name ankommen und ihre Werten würden trotzdem korrekt landen – genau das, was positionsbasiertes Stapeln falsch macht, und warum ein Füger, der identische Header annimmt, eine Falle ist.
Unvollständige Dateien, BOMs und andere reale Herausforderungen
Echte Exporte sind unvollständig, und der Füger verarbeitet die häufigen Fälle, anstatt sie abzulehnen:
- Ein UTF-8-BOM am Dateianfang wird entfernt – sonst erhält ein Excel-Export eine unsichtbare erste Spalte, die niemand zuordnen kann.
- Leere Zeilen werden übersprungen, und eine leere Datei wird ignoriert, nicht als Fehler gewertet.
- Zeilen mit fehlenden Zellen am Ende werden zu Blanks – unvollständige rechte Ränder werden normalisiert, nicht als Fehler behandelt.
- Parser-Fehler werden pro Datei und pro Zeile gemeldet – Datei 2: nicht abgeschlossenes Anführungszeichenfeld, Zeile 4 – sodass die problematische Datei sich selbst identifiziert.
- Ein Header, der innerhalb einer Datei einen Namen wiederholt, wird nur an seiner ersten Position gelesen; entfernen Sie solche Duplikate, wenn die Kopie Daten enthält.
Wie die Ausgabe aussieht – und was sie nicht tut
Die Ausgabe ist ein CSV-Dokument: eine einzelne Header-Zeile, dann die Zeilen jeder Datei in Reihenfolge. Zeilenenden sind CRLF mit abschließendem CRLF, gemäß RFC 4180, und Felder sind nur bei Bedarf in Anführungszeichen: ein Komma, ein Anführungszeichen (verdoppelt, wie die Vorschrift verlangt) oder ein Zeilenumbruch darin, oder führende oder nachfolgende Leerzeichen, die eine Tabellenkalkulation sonst streichen würde.
Werte werden als Text durchgereicht – eine Kundennummer 007 bleibt 007 – und nichts wird dedupliziert oder neu sortiert. Zwei identische Zeilen ergeben zwei Zeilen: deren Zusammenführung erfordert eine Entscheidung, was zwei Zeilen gleich macht, und diese Entscheidung liegt bei Ihnen, nicht beim Tool.
Häufig gestellte Fragen
Werden die CSV-Dateien, die ich anhänge, hochgeladen?
Nein. Angehängte Dateien werden mit der File-API des Browsers in Strings in diesem Tab gelesen, dort zusammengeführt und wieder ausgegeben – nichts verlässt das Gerät. Die Seite wird mit connect-src 'self' ausgeliefert, sodass ein Fetch zu einem anderen Ursprung vom Browser selbst abgelehnt wird, und das Network-Panel zeigt während eines Zusammenführens keinen Datenverkehr. Dass Gehaltsdaten lokal bleiben, ist der Punkt.
Was, wenn meine Dateien unterschiedliche Spalten haben oder dieselben Spalten in anderer Reihenfolge?
Genau dafür ist das Tool da. Spalten werden nach Namen vereinigt, jede Zeile wird über den Header der eigenen Datei neu zugeordnet, sodass die Spaltenreihenfolge in jeder Datei irrelevant ist. Zeilen lassen einfach die Spalten leer, die ihre Datei nie hatte.
Werden doppelte Zeilen entfernt?
Nein. Zusammenführen ist eine strukturelle Ausrichtung; Deduplizierung ist eine separate Entscheidung über Identität – jede Spalte, ein Schlüssel, case-insensitiv? – und eine falsche Annahme löscht echte Daten. Identische Zeilen passieren ungeändert; wenden Sie danach Ihre eigene Regel an, wenn Sie sie benötigen.
Welche CSV-Dialekte akzeptiert der Parser?
Komma-getrennt gemäß RFC 4180: Anführungszeichenfelder mit Kommas, Anführungszeichen und Zeilenumbrüchen, verdoppelte Anführungszeichen und entweder CRLF- oder LF-Eingabeenden. Semikolon-getrennte Exporte – die europäische Excel-Standardvorgabe – werden als eine einzige breite Spalte geparst, also speichern Sie diese zuerst mit Kommas um. Die Ausgabe ist immer komma-getrennt mit CRLF-Zeilenenden.
Wie werden unvollständige Zeilen behandelt?
Eine Zeile, die kürzer ist als der Header ihrer Datei, trägt Blanks in den fehlenden Spalten bei; eine längere Zeile hat unbenennbare Reste – Zellen ohne Spaltennamen –, die ignoriert werden. Wiederholte Header-Namen innerhalb einer Datei werden beim ersten Vorkommen gelesen. Stilles Handling ist für diese reserviert; fehlerhafte Syntax erzeugt einen pro-Datei, pro-Zeilen-Fehler.
Gibt es eine Größenbegrenzung für die Dateien?
Die praktische Grenze ist der Speicher des Browser-Tabs. Jede Datei wird vom CSV-Engine des Hauptthreads der Seite geparst, die Eingaben über 8 MB mit einer klaren Meldung ablehnt, anstatt die Seite einzufrieren – dieselbe dokumentierte Grenze, die auch die anderen CSV-Tools der Seite anwenden. Für typische Exporte sind das Tausende von Zeilen pro Datei.
Welche verwandten Tools sollten Sie als Nächstes nutzen?
- CSV in JSON umwandelnTabellen-Export in Datensätze umwandeln, Anführungszeichen inklusiveÖffnen
- JSON in CSV umwandelnDatensätze in eine Tabelle umwandeln, Verschachtelung inklusiveÖffnen
- CSV zu YAMLKonverter – läuft in Ihrem BrowserÖffnen
- YAML zu CSVKonverter – läuft in Ihrem BrowserÖffnen
- CSV-Regeln nach RFC 4180Leitfaden in verständlicher SpracheÖffnen
- JSON formatierenEinrückung und Sortierung einstellen, Kommentare entfernenÖffnen