Öffnen Sie eine CSV-Datei oder fügen Sie sie ein, und wählen Sie „Parquet herunterladen“. Standardmäßig ist jede Spalte ein nullbarer UTF-8-STRING: IDs wie 000917 behalten ihre Nullen, und leere Zellen werden zu null. Wählen Sie Zahlen und true/false erkennen, um Spalten als INT64, DOUBLE und BOOLEAN zu schreiben, wo jeder Wert passt. Die Datei wird in Ihrem Browser von einem Parquet-Writer in JavaScript geschrieben; es wird nichts hochgeladen.
So wandeln Sie CSV in Parquet um
- Öffnen Sie eine
.csv-,.tsv- oder.txt-Datei, ziehen Sie sie auf das Werkzeug, oder fügen Sie Zeilen ein. Prüfen Sie die Tabelle unter Eingabe; Trennzeichen, Kopfzeile oder Codierung stellen Sie bei Bedarf unter Importeinstellungen ein. - Wählen Sie die Werttypen, die Komprimierung, ob Sie Leeren Text als null schreiben möchten, und Zeilen pro Row Group.
- Wählen Sie „Parquet herunterladen“, und lesen Sie die
.parquet-Datei mit DuckDB, pandas, Polars, Spark oder einem anderen Parquet-Leser.
Um viele Dateien mit denselben Einstellungen umzuwandeln, wählen Sie Stapelverarbeitung: mehrere Dateien umwandeln. Jede Datei wird zu einer eigenen Parquet-Datei, und alle werden zusammen als eine ZIP-Datei heruntergeladen. Im Stapel darf jede Datei höchstens 25 MB groß sein.
Schema und Spaltentypen
Die Spaltennamen stammen genau wie geschrieben aus der Kopfzeile. Eine leere Spaltenüberschrift wird zu Column 3, eine doppelte zu name (2), sodass jede Parquet-Spalte einen eindeutigen Namen hat. Jede Spalte ist optional (nullbar).
| Alle Werte als Text behalten | Die Standardeinstellung. Jede Spalte ist BYTE_ARRAY mit der Annotation UTF-8-String und enthält jeden Wert Byte für Byte, einschließlich führender Nullen, 1,5, N/A und Datumsformaten. |
|---|---|
| Ganze Zahlen (mit Erkennung) | INT64, wenn jeder nicht leere Wert eine ganze Zahl ohne führende Nullen ist, von −9.007.199.254.740.991 bis 9.007.199.254.740.991. Größere Ganzzahlen lassen die Spalte Text bleiben. |
| Dezimalzahlen (mit Erkennung) | DOUBLE, wenn jeder Wert eine einfache Dezimalzahl mit höchstens 15 signifikanten Stellen ist und die Umwandlung damit unverändert übersteht. Eine Spalte mit 12 und 2.5 gemischt wird DOUBLE. Ein Dezimalkomma wie in deutschen Exporten lässt die Spalte Text bleiben. |
| true / false (mit Erkennung) | BOOLEAN, wenn jeder Wert true oder false in beliebiger Schreibweise ist. |
| Datum und Zeitstempel | Bleiben in beiden Modi STRING, zum Beispiel 2026-03-01T08:00:00Z. Wandeln Sie sie in Ihrer Abfrage-Engine um, etwa mit CAST(reading_at AS TIMESTAMP) in DuckDB. |
In typisierten Spalten ist eine leere Zelle immer null. In Textspalten bestimmt Leeren Text als null schreiben (standardmäßig an), ob eine leere Zelle zu null oder zu einer leeren Zeichenkette "" wird.
Komprimierung und Zeilengruppen
| Snappy (schnell, gängiger Standard) | Der Standard-Codec. Jeder gängige Parquet-Leser unterstützt ihn. |
|---|---|
| Gzip (kleiner) | Ergibt meist eine kleinere Datei als Snappy. Manche schlanken Leser enthalten keine Gzip-Unterstützung. |
| Keine | Keine Komprimierung – zur Fehlersuche oder für Werkzeuge ohne Dekomprimierer. |
| Zeilen pro Row Group | Standard 100.000, zwischen 1.000 und 1.000.000. Weil der Browser-Arbeitsbereich bis zu 100.000 Zeilen fasst, schreibt der Standard eine einzige Zeilengruppe; mit einem kleineren Wert erhalten Sie mehrere Zeilengruppen, die Leser überspringen oder parallel lesen können. |
Die Datei vermerkt in ihren Metadaten außerdem den Writer (hyparquet) und einen Schlüssel created_by_app.
Häufige Probleme bei der Umwandlung von CSV in Parquet
- Eine numerische Spalte ist ein STRING. Entweder ist Alle Werte als Text behalten ausgewählt, oder ein Wert ist keine einfache Zahl, etwa
1,234,12 kg,007oder eine 16-stellige Dezimalzahl. Finden Sie ihn mit dem Spaltenprofil oder im CSV-Viewer. - IDs haben in einem anderen Werkzeug ihre führenden Nullen verloren. Dieser Konverter macht eine Spalte mit führenden Nullen nie numerisch. Haben sich die IDs verändert, wurde die CSV-Datei vermutlich vor der Umwandlung in einer Tabellenkalkulation geöffnet und gespeichert; prüfen Sie die Quelldatei im CSV-Viewer.
- Alles steht in einer Spalte. Das Trennzeichen wurde falsch erkannt. Wählen Sie es unter Importeinstellungen.
- Die Datei ist zu groß für dieses Werkzeug. Die Parquet-Umwandlung funktioniert mit Dateien bis 25 MB, 100.000 Zeilen, 250 Spalten und 2 Millionen Zellen. Teilen Sie die CSV-Datei auf und wandeln Sie die Teile um, oder komprimieren Sie die CSV-Datei mit Gzip, wenn Sie nur einen kleineren Download brauchen.
Grenzen und Datenschutz
Die CSV-Datei muss sich im Browser-Arbeitsbereich öffnen lassen: bis 25 MB, 100.000 Zeilen, 250 Spalten und 2 Millionen Zellen. Die Parquet-Datei wird in einem Durchgang im Arbeitsspeicher erstellt.
Der Writer ist hyparquet-writer, eine reine JavaScript-Bibliothek, die erst beim Umwandeln geladen wird; es gibt keinen WebAssembly- oder Serverschritt. Er läuft in einem Hintergrund-Worker in diesem Tab; die Seite bleibt bedienbar, und Abbrechen beendet den Vorgang. Die CSV-Datei wird nie an einen Server gesendet. Für eine abfragbare Datenbankdatei nutzen Sie stattdessen CSV in SQLite.
Beispiel: Sensormesswerte, mit PyArrow zurückgelesen
Sensormesswerte mit IDs mit führenden Nullen, ISO-Zeitstempeln, leeren Zellen und einem Komma in Anführungszeichen, umgewandelt mit Zahlen und true/false erkennen und der Standardkomprimierung Snappy, danach mit PyArrow zurückgelesen. temp_c wurde DOUBLE und ok BOOLEAN; sensor_id und reading_at blieben Strings. Mit der Standardeinstellung Alle Werte als Text behalten sind alle fünf Spalten string, und ok behält TRUE wie geschrieben.
sensor_id,reading_at,temp_c,ok,site 000917,2026-03-01T08:00:00Z,21.5,true,Lab 2 000918,2026-03-01T08:05:00Z,,false, 000919,2026-03-01T08:10:00Z,-3,TRUE,"Roof, north"
schema:
sensor_id: string
reading_at: string
temp_c: double
ok: bool
site: string
rows: 3, row groups: 1, compression: SNAPPY
{'sensor_id': '000917', 'reading_at': '2026-03-01T08:00:00Z', 'temp_c': 21.5, 'ok': True, 'site': 'Lab 2'}
{'sensor_id': '000918', 'reading_at': '2026-03-01T08:05:00Z', 'temp_c': None, 'ok': False, 'site': None}
{'sensor_id': '000919', 'reading_at': '2026-03-01T08:10:00Z', 'temp_c': -3.0, 'ok': True, 'site': 'Roof, north'}Fragen und Antworten
Wird meine CSV-Datei zum Umwandeln hochgeladen?
Nein. Die Parquet-Datei wird von einer JavaScript-Bibliothek in einem Worker in Ihrem Browser-Tab geschrieben, und der Download entsteht lokal.
Warum werden Datumswerte nicht als Parquet-DATE oder -TIMESTAMP geschrieben?
Datumsangaben in CSV-Dateien kommen in vielen Formaten und Zeitzonen vor, und stillschweigendes Raten kann Werte verschieben. Sie werden daher genau wie in der Datei als Strings geschrieben; wandeln Sie sie in DuckDB, Spark oder pandas um, wo Sie Format und Zeitzone selbst wählen.
Welche Komprimierung soll ich wählen?
Snappy funktioniert mit praktisch jedem Parquet-Leser. Wählen Sie Gzip, wenn die Dateigröße wichtiger ist und Ihr Leser es unterstützt, und „Keine“ nur zur Fehlersuche.