CSV-Splitter

Teilen Sie eine große CSV-Datei nach Zeilenzahl, Anzahl der Dateien oder Dateigröße in kleinere Dateien auf. Jeder Teil behält die Kopfzeile, Felder in Anführungszeichen bleiben ganz, und nichts verlässt Ihren Browser.

Dateien werden lokal im Browser verarbeitet und nie hochgeladen.

Dateien werden lokal im Browser verarbeitet und nie hochgeladen.

So funktioniert der Splitter

Die Datei wird als Bytestrom gelesen und nur an Zeilengrenzen geschnitten, sodass jede Ausgabedatei für sich gültiges CSV ist.

  1. 1

    Zeilenenden finden

    Die Bytes werden einmal durchlaufen. Ein Zeilenumbruch beendet eine Zeile nur außerhalb doppelter Anführungszeichen, daher zerteilt ein Umbruch innerhalb eines Feldes, etwa in einer mehrzeiligen Adresse, nie eine Zeile.

  2. 2

    An Zeilengrenzen schneiden

    Nach Zeilen: alle N Datenzeilen beginnt eine neue Datei. Nach Dateianzahl: zuerst wird die Gesamtzahl der Zeilen ermittelt, dann werden die Zeilen so gleichmäßig wie möglich verteilt. Nach Größe: Zeilen werden hinzugefügt, bis die nächste das Limit überschreiten würde.

  3. 3

    Teile zusammensetzen

    Jede Ausgabedatei besteht aus den Bytes der Originalkopfzeile plus einem Bytebereich der Originaldatei. Nichts wird dekodiert, neu kodiert oder kopiert, deshalb lässt sich eine Datei mit mehreren Gigabyte in Sekunden aufteilen, ohne den Speicher zu erschöpfen.

Was erhalten bleibt und was nicht unterstützt wird

  • Zeilen werden nie zerteilt, auch wenn eine einzelne Zeile größer als das Größenlimit ist; sie wird dann zu einer eigenen Datei.
  • Felder in Anführungszeichen folgen RFC 4180: Kommas, Zeilenumbrüche und doppelte Anführungszeichen ("") innerhalb der Anführungszeichen sind Daten.
  • Das Trennzeichen (Komma, Semikolon, Tabulator oder Pipe) wird aus der ersten Zeile erkannt und kann überschrieben werden. Es beeinflusst die Deutung von Anführungszeichen und die Vorschau, nicht die Zeilenenden.
  • Eine UTF-8-Byte-Order-Mark und Windows-CRLF-Zeilenenden bleiben in jedem Teil erhalten, sodass Excel die Teile genau wie das Original öffnet.
  • UTF-16-Dateien werden mit einer Meldung abgelehnt; speichern Sie sie zuerst als UTF-8. Pro Durchlauf entstehen höchstens 5.000 Ausgabedateien.
  • Der ZIP-Download verwendet die Store-Methode (keine Kompression) und ist auf 4 GB begrenzt; größere Ergebnisse lassen sich weiterhin Datei für Datei herunterladen.

Rechenbeispiele

Beide Beispiele verwenden die eingebauten Beispieldateien, sodass Sie jede Zahl nachprüfen können.

12.000 Bestellzeilen in Dateien zu je 5.000 Zeilen aufteilen

Laden Sie das Beispiel „Bestellungen (12.000 Zeilen)“, behalten Sie „Zeilen pro Datei“ bei, geben Sie 5000 ein und lassen Sie den Kopfzeilen-Schalter an.

  1. 1Die erste Zeile „order_id,order_date,…“ ist die Kopfzeile. Die übrigen 12.000 Zeilen sind Datenzeilen.
  2. 212.000 ÷ 5.000 = 2 volle Dateien mit 2.000 Zeilen Rest, also entstehen drei Dateien.
  3. 3Datei 1 und 2 enthalten die Zeilen 1–5.000 und 5.001–10.000. Datei 3 enthält die Zeilen 10.001–12.000.
  4. 4Jede Datei beginnt mit derselben Kopfzeile und hat daher 5.001, 5.001 bzw. 2.001 Zeilen.

Ergebnis: orders-2026_part_01.csv (5.000 Zeilen), orders-2026_part_02.csv (5.000 Zeilen), orders-2026_part_03.csv (2.000 Zeilen). Zusammen enthalten sie genau die 12.000 Originalzeilen.

600 Support-Tickets mit mehrzeiligen Notizen in 4 Dateien aufteilen

Laden Sie das Beispiel „Tickets mit mehrzeiligen Notizen“, wählen Sie „Anzahl Dateien“ und geben Sie 4 ein.

  1. 1Die Spalte notes enthält Text in Anführungszeichen mit Kommas, doppelten Anführungszeichen und Zeilenumbrüchen. Der erste Durchlauf zählt die Zeilen, ignoriert dabei Umbrüche innerhalb von Anführungszeichen und findet 600 Datenzeilen.
  2. 2Zeilen pro Datei = ceil(600 ÷ 4) = 150.
  3. 3Die Zeilen werden der Reihe nach verteilt: Tickets T-0001–T-0150, T-0151–T-0300, T-0301–T-0450, T-0451–T-0600.
  4. 4Ein Ticket, dessen Notiz drei Zeilen umfasst, landet trotzdem in einer Datei, weil nur an Zeilenenden außerhalb von Anführungszeichen geschnitten wird.

Ergebnis: vier Dateien mit je 150 Tickets. Öffnen Sie einen Teil in einer Tabellenkalkulation, und die mehrzeiligen Notizen sind weiterhin eine einzige Zelle.

FAQ

Fragen dazu, wie dieser CSV-Splitter mit Dateien, Kopfzeilen und Kodierungen umgeht.

Wird meine CSV-Datei auf einen Server hochgeladen?

Nein. Die Datei wird mit der File-API des Browsers gelesen und auf Ihrem Gerät in Bytebereiche zerlegt. Es gibt keinen Upload, und beim Schließen des Tabs wird alles verworfen.

Wie groß darf die CSV-Datei sein?

Die Datei wird gestreamt, daher spielt ihre Größe für den Speicher keine Rolle; Dateien über 1 GB lassen sich problemlos aufteilen. Die praktische Grenze ist der ZIP-Download mit 4 GB. Größere Ergebnisse können Datei für Datei heruntergeladen werden.

Behält jede Ausgabedatei die Kopfzeile?

Ja. Wenn „Erste Zeile ist Kopfzeile“ eingeschaltet ist, wird die Kopfzeile am Anfang jedes Teils wiederholt. Schalten Sie sie aus, wenn Ihre Datei keine Kopfzeile hat; dann gilt die erste Zeile als Daten.

Was passiert mit Feldern in Anführungszeichen, die Kommas oder Zeilenumbrüche enthalten?

Sie bleiben intakt. Ein Zeilenumbruch innerhalb doppelter Anführungszeichen gilt als Teil des Feldes, nicht als Zeilenende, und doppelte Anführungszeichen ("") werden als maskierte Anführungszeichen erkannt.

Welche Trennzeichen werden unterstützt?

Komma, Semikolon, Tabulator und Pipe. Das Trennzeichen wird aus der ersten Zeile erkannt und kann überschrieben werden, falls die Erkennung falsch liegt.

Öffnet Excel die aufgeteilten Dateien korrekt?

Ja. Hat die Originaldatei eine UTF-8-Byte-Order-Mark oder Windows-Zeilenenden, behält jeder Teil sie bei, sodass Excel die Teile genauso liest wie das Original.

Soll ich nach Zeilen oder nach Dateigröße aufteilen?

Nach Zeilen, wenn das Ziel eine Zeilengrenze hat, etwa 1.048.576 Zeilen pro Excel-Blatt oder ein Importwerkzeug, das 10.000 Zeilen pro Durchgang annimmt. Nach Größe, wenn das Ziel eine Upload-Grenze in Megabyte hat. Nach Dateianzahl, wenn Sie gleich große Stücke für parallele Verarbeitung brauchen.

Wie füge ich die Teile wieder zu einer Datei zusammen?

Hängen Sie sie aneinander und entfernen Sie die wiederholten Kopfzeilen. Unter macOS oder Linux: head -n 1 part_01.csv > all.csv; tail -n +2 -q part_*.csv >> all.csv. In Python erledigt pandas.concat über die Teile dasselbe.