Ein Gigabyte CSV sind grob fünf bis zehn Millionen Zeilen ganz normaler Tabellendaten. Diese Zahl ist wichtiger als das Gigabyte, denn sie ist schon fünfmal so viel, wie ein Tabellenblatt fassen kann. Das Erste, was du akzeptieren musst: „In Excel öffnen“ stand nie zur Auswahl.
Was zur Auswahl steht, hängt von einer Frage ab: Willst du die Datei ansehen, oder willst du eine Antwort aus ihr herausholen?
- Eine Antwort — eine Summe, ein Filter, ein Join, die Anzahl der Duplikate: DuckDB. Ein Befehl, zehn Sekunden, kein Import.
- Ansehen — scrollen, suchen, die Form der Daten überblicken: ein Viewer, der streamt. EmEditor unter Windows,
lessüberall, eine Handy-App, wenn die Datei dort liegt. - Bearbeiten und zurückspeichern: der schwierigste Fall mit den wenigsten guten Antworten. Dazu weiter unten mehr.
Der Vergleich
Die Zeiten gelten für eine 1-GB-Datei mit etwa 8 Millionen Zeilen auf einem gewöhnlichen Laptop mit 16 GB RAM und SSD. Sie sind Richtwerte, keine Benchmarks. Deine Spalten und deine Platte verschieben sie. Die letzte Spalte verschiebt sich nicht.
| Tool | Öffnet 1 GB? | Zeit bis zur ersten Zeile | Spitzen-RAM | Kosten |
|---|---|---|---|---|
| Excel | Nein — Obergrenze 1.048.576 Zeilen | — | — | Kostenpflichtig |
| Excel + Power Query | Ja, als Ladeschritt | Minuten | Hoch | Kostenpflichtig |
| Google Sheets | Nein — 10 Mio. Zellen, ~100 MB Upload | — | — | Kostenlos |
| Numbers | Nein — 1 Mio. Zeilen, und vorher schon langsam | — | — | Kostenlos |
| DuckDB | Ja | ~1 s | ~200 MB | Kostenlos |
| Python + pandas | Ja, mit chunksize | 30 s+ | 5–10 GB bei naivem Einsatz | Kostenlos |
| Python + Polars | Ja | ~5 s | ~1,5 GB | Kostenlos |
| EmEditor (Windows) | Ja, problemlos | ~5 s | Niedrig | Kostenpflichtig |
| VS Code | Tut sich schwer | 30 s+ | Hoch | Kostenlos |
less / head / awk | Ja | Sofort | ~0 | Kostenlos |
| OpenRefine | Ja, langsam | Minuten | Hoch | Kostenlos |
| CSV-App fürs Handy | Ja, wenn dafür gebaut | Sekunden | Verwaltet | Kostenlose Stufe |
Zwei Zeilen davon sind Fallen. Google Sheets wirbt mit 10 Millionen Zellen, das klingt nach viel, aber eine Datei mit 20 Spalten erreicht das schon bei 500.000 Zeilen, und das Upload-Limit stoppt dich lange vorher. pandas öffnet die Datei bereitwillig und braucht dann das Achtfache ihrer Größe an RAM, weil jede Textspalte als Python-Objekte abgelegt wird. Das ist die bekannte Erfahrung „geöffnet, aber der Laptop ist tot“, weil das System ständig auslagert.
Je nachdem, was du vorhast
Du brauchst eine Antwort
DuckDB, und das ist keine knappe Entscheidung:
duckdb -c "SELECT region, COUNT(*), SUM(amount) FROM 'big.csv' GROUP BY region"
Es liest die Datei parallel, streamt statt zu laden und belegt nie viel mehr als das, was deine Abfrage gerade braucht. Ein GROUP BY über 8 Millionen Zeilen ist in ein paar Sekunden fertig. Die ausführliche Anleitung (Typen überschreiben, zwei Dateien verknüpfen, Ergebnisse zurückschreiben) steht in SQL-Abfragen auf einer CSV-Datei ohne Datenbank.
Wenn du lieber bei Python bleibst, nimm Polars mit scan_csv (lazy: plant die ganze Abfrage, bevor es liest) oder pandas mit explizitem chunksize und einer dtype-Zuordnung. Das naive pd.read_csv('big.csv') solltest du vermeiden.
Du willst die Datei ansehen
Unter Windows: EmEditor. Es ist der eine Editor für große Dateien, der durchhält, und öffnet mehrere GB große CSV-Dateien als Raster mit Sortieren und Filtern. Er kostet Geld; das lohnt sich, wenn das Problem öfter auftritt.
Überall: die Shell. Für die ersten fünf Minuten mit jeder großen Datei unterschätzt:
head -5 big.csv # what are the columns
wc -l big.csv # how many rows really
awk -F, 'NR<=1000' big.csv > sample.csv # a slice you can open normally
less -S big.csv # scroll it, no line wrapping
Eine Stichprobe mit 1.000 Zeilen zu erzeugen und die in Excel zu öffnen, beantwortet „Was steckt in dieser Datei?“ schneller als jedes Tool, das die ganze Datei öffnet.
Nicht VS Code und nicht Notepad++. Beide laden die gesamte Datei als Text in den Speicher. Sie schaffen das auch, aber langsam, mit Warnung und am Ende ohne brauchbare Tabellenansicht.
Die Datei liegt auf deinem Handy
Der 1-GB-Fall ist hier schwer: Handys haben weniger RAM als Laptops und strengere Grenzen dafür, was eine App halten darf. Nichts auf dem Handy öffnet ein volles Gigabyte bequem, also teste jede App, die das behauptet, bevor du ihr traust. Was Handy-Apps gut können, ist der Bereich knapp darunter: Exporte mit 100–500 MB und mehreren hunderttausend Zeilen, die eine Handy-Tabellenkalkulation stillschweigend abschneidet.
Öffnet große Dateien, ohne sie abzuschneiden, und beantwortet dann Fragen zu den Daten per SQL oder in normaler Sprache. Das wolltest du meistens von einer Datei, die zu groß zum Scrollen ist. iOS und Android.
Was es kannBevor du einer Handy-App eine wichtige Datei anvertraust, mach die Prüfung aus dem letzten Abschnitt dieser Seite.
Du willst bearbeiten und zurückspeichern
Dieser Fall hat die wenigsten ehrlichen Antworten, denn „bearbeiten“ heißt, die Datei zu halten und wieder vollständig herauszuschreiben.
- Ein paar gezielte Änderungen — einen Wert korrigieren, eine Spalte entfernen: mit DuckDB oder
awkerledigen und eine neue Datei schreiben. Das ist schneller als jedes interaktive Tool und lässt das Original unangetastet. - Echtes interaktives Bearbeiten unter Windows: EmEditor.
- Echtes interaktives Bearbeiten anderswo: die Datei zuerst teilen.
split -l 1000000 big.csv part_liefert Stücke, die eine Tabellenkalkulation fassen kann. Dafür musst du sie hinterher wieder zusammensetzen (catfunktioniert, aber lösche die wiederholten Kopfzeilen). - Unter etwa 500.000 Zeilen schafft ein Handy-Editor das direkt:
Bearbeiten wie in einer Tabellenkalkulation bei Dateien mit 500.000 Zeilen, wobei beim Speichern jede Zeile zurückgeschrieben wird, auch in der kostenlosen Version. iOS und iPadOS.
Was es kannDas Problem wegkonvertieren
Wenn du die Datei öfter als zweimal anfasst, hör auf, sie als CSV zu behandeln:
duckdb -c "COPY (SELECT * FROM 'big.csv') TO 'big.parquet'"
Parquet ist spaltenorientiert, typisiert und komprimiert. Aus der 1-GB-CSV werden 100–200 MB, Abfragen, die nur wenige Spalten durchsuchen, werden fünf- bis zwanzigmal schneller, und die Typen, um die du gekämpft hast, stehen jetzt in der Datei. DuckDB, Polars und pandas lesen Parquet nativ. Das sind die wertvollsten zehn Sekunden in diesem Artikel.
Prüfen, ob ein Tool die Datei wirklich geöffnet hat
Viele Tools „öffnen“ eine große CSV, indem sie nur einen Teil öffnen, und sagen nicht, welchen. Prüfe das, bevor du aus einer Datei Schlüsse ziehst:
- Zähle zuerst die Zeilen, außerhalb des Tools:
wc -l big.csv. Zieh eins für die Kopfzeile ab. - Spring im Tool zur letzten Zeile und vergleiche die Anzahl.
- Vergleiche den Inhalt der letzten Zeile mit
tail -1 big.csv.
Stimmt das nicht überein, hat das Tool abgeschnitten. Jeder Schluss, den du daraus ziehst (eine Summe, ein Maximum, „aus dieser Region gibt es keine Bestellungen“), ist dann falsch, ohne dass irgendetwas auf dem Bildschirm es dir sagt. Stilles Abschneiden ist bei großen Dateien die eigentliche Gefahr, mehr noch als Abstürze: Ein Absturz ist wenigstens ehrlich.
Wenn es speziell Excel war, das gescheitert ist
Zwei benachbarte Probleme, die man leicht verwechselt. Wenn Excel die Datei abgelehnt oder nur teilweise angezeigt hat, ist das die Zeilengrenze, und eine große CSV-Datei öffnen, die Excel nicht öffnet beschreibt die Auswege. Wenn Excel die Datei geöffnet hat und dann eingefroren, hängen geblieben oder abgestürzt ist, ist das ein anderer Fehler mit anderen Ursachen, erklärt in warum Excel bei großen Dateien abstürzt.