Otwórz lub wklej plik CSV i kliknij Pobierz Parquet. Domyślnie każda kolumna jest dopuszczającą null kolumną UTF-8 typu STRING, więc identyfikatory takie jak 000917 zachowują zera, a puste komórki stają się wartościami null. Wybierz Rozpoznawaj liczby i true/false, aby zapisać kolumny INT64, DOUBLE i BOOLEAN tam, gdzie pasuje każda wartość. Plik zapisuje w Twojej przeglądarce biblioteka Parquet napisana w JavaScripcie; nic nie jest wysyłane na serwer.
Jak przekonwertować CSV do Parquet
- Otwórz plik
.csv,.tsvlub.txt, upuść go na narzędzie albo wklej wiersze. Sprawdź tabelę na karcie Dane wejściowe; w razie potrzeby ustaw ogranicznik, wiersz nagłówka lub kodowanie w sekcji Ustawienia importu. - Wybierz Typy wartości, Kompresja, zdecyduj, czy włączyć Zapisuj pusty tekst jako null, i ustaw Wierszy w grupie wierszy.
- Kliknij Pobierz Parquet i odczytaj plik
.parquetw DuckDB, pandas, Polars, Sparku lub dowolnym innym czytniku Parquet.
Aby przekonwertować wiele plików z tymi samymi ustawieniami, wybierz Tryb wsadowy: konwertuj kilka plików. Każdy plik staje się osobnym plikiem Parquet, a wszystkie pobierasz razem jako jeden plik ZIP. W trybie wsadowym każdy plik może mieć najwyżej 25 MB.
Schemat i typy kolumn
Nazwy kolumn pochodzą z wiersza nagłówka, dokładnie w zapisanej postaci. Pusty nagłówek staje się Column 3, a powtórzony – name (2), więc każda kolumna Parquet ma unikatową nazwę. Każda kolumna jest opcjonalna (dopuszcza null).
| Zachowaj wszystkie wartości jako tekst | Ustawienie domyślne. Każda kolumna ma typ BYTE_ARRAY z adnotacją tekstu UTF-8 i przechowuje każdą wartość bajt w bajt, łącznie z zerami wiodącymi, 1,5, N/A i formatami dat. |
|---|---|
| Liczby całkowite (z rozpoznawaniem) | INT64, gdy każda niepusta wartość jest liczbą całkowitą bez zer wiodących w zakresie od −9 007 199 254 740 991 do 9 007 199 254 740 991. Większe liczby sprawiają, że kolumna pozostaje tekstowa. |
| Liczby dziesiętne (z rozpoznawaniem) | DOUBLE, gdy każda wartość jest zwykłą liczbą dziesiętną z najwyżej 15 cyframi znaczącymi, dzięki czemu przetrwa konwersję. Kolumna łącząca 12 i 2.5 staje się DOUBLE. Kwoty z przecinkiem dziesiętnym, typowe dla polskiego Excela, pozostają tekstem. |
| true / false (z rozpoznawaniem) | BOOLEAN, gdy każda wartość to true lub false, w dowolnej wielkości liter. |
| Daty i znaczniki czasu | W obu trybach pozostają typu STRING, np. 2026-03-01T08:00:00Z. Rzutuj je w silniku zapytań, np. CAST(reading_at AS TIMESTAMP) w DuckDB. |
W kolumnach z typami pusta komórka jest zawsze wartością null. W kolumnach tekstowych opcja Zapisuj pusty tekst jako null (domyślnie włączona) decyduje, czy pusta komórka stanie się wartością null, czy pustym ciągiem znaków "".
Kompresja i grupy wierszy
| Snappy (szybka, częsty wybór domyślny) | Kodek domyślny. Obsługuje go każdy popularny czytnik Parquet. |
|---|---|
| Gzip (mniejszy plik) | Zwykle daje mniejszy plik niż Snappy. Niektóre lekkie czytniki nie obsługują gzip. |
| Brak | Bez kompresji – do debugowania lub dla narzędzi bez dekompresora. |
| Wierszy w grupie wierszy | Domyślnie 100 000, od 1000 do 1 000 000. Ponieważ przestrzeń robocza przeglądarki mieści do 100 000 wierszy, ustawienie domyślne zapisuje jedną grupę wierszy; ustaw mniejszą wartość, aby dostać kilka grup, które czytniki mogą pomijać lub odczytywać równolegle. |
Plik zapisuje też w metadanych nazwę biblioteki (hyparquet) i klucz created_by_app.
Typowe problemy przy konwersji CSV do Parquet
- Kolumna liczbowa ma typ STRING. Wybrana jest opcja Zachowaj wszystkie wartości jako tekst albo któraś wartość nie jest zwykłą liczbą, np.
1,234,12 kg,007lub liczba dziesiętna z 16 cyframi. Znajdziesz ją w profilu kolumn lub w przeglądarce CSV. - Identyfikatory straciły zera wiodące w innym narzędziu. Ten konwerter nigdy nie zamienia kolumny z zerami wiodącymi na liczbową. Jeśli identyfikatory się zmieniły, plik CSV prawdopodobnie przed konwersją otwarto i zapisano w arkuszu kalkulacyjnym; sprawdź plik źródłowy w przeglądarce CSV.
- Wszystko jest w jednej kolumnie. Ogranicznik został źle rozpoznany; wybierz go w sekcji Ustawienia importu.
- Plik jest za duży dla tego narzędzia. Konwersja do Parquet działa na plikach do 25 MB, 100 000 wierszy, 250 kolumn i 2 mln komórek. Podziel plik CSV i przekonwertuj części albo – jeśli potrzebujesz tylko mniejszego pliku do pobrania – skompresuj CSV metodą gzip.
Limity i prywatność
Plik CSV musi zmieścić się w przestrzeni roboczej przeglądarki: do 25 MB, 100 000 wierszy, 250 kolumn i 2 mln komórek. Plik Parquet jest budowany w pamięci w jednym przebiegu.
Plik zapisuje hyparquet-writer – biblioteka napisana w całości w JavaScripcie, wczytywana dopiero przy konwersji; nie ma tu WebAssembly ani etapu na serwerze. Działa w tle w tej karcie, więc strona cały czas reaguje, a Anuluj przerywa pracę. Plik CSV nigdy nie jest wysyłany na serwer. Jeśli zamiast tego potrzebujesz pliku bazy danych, który można odpytywać, użyj narzędzia CSV do SQLite.
Przykład: odczyty czujników wczytane z powrotem w PyArrow
Odczyty z czujników z identyfikatorami z zerami wiodącymi, znacznikami czasu ISO, pustymi komórkami i przecinkiem w cudzysłowie, przekonwertowane z opcją Rozpoznawaj liczby i true/false i domyślną kompresją Snappy, a następnie odczytane w PyArrow. temp_c dostała typ DOUBLE, a ok – BOOLEAN; sensor_id i reading_at pozostały tekstem. Przy domyślnej opcji Zachowaj wszystkie wartości jako tekst wszystkie pięć kolumn ma typ string, a ok zachowuje zapis TRUE.
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'}Pytania i odpowiedzi
Czy mój plik CSV jest wysyłany na serwer w celu konwersji?
Nie. Plik Parquet zapisuje biblioteka JavaScript działająca w tle w karcie Twojej przeglądarki, a plik do pobrania powstaje lokalnie.
Dlaczego daty nie są zapisywane jako typy Parquet DATE lub TIMESTAMP?
Daty w CSV występują w wielu formatach i strefach czasowych, a ich ciche zgadywanie może przesunąć wartości. Są zapisywane jako tekst dokładnie tak jak w pliku; rzutuj je w DuckDB, Sparku lub pandas, gdzie sam wybierasz format i strefę.
Jaką kompresję wybrać?
Snappy działa praktycznie z każdym czytnikiem Parquet. Gzip wybierz, gdy rozmiar pliku jest ważniejszy, a Twój czytnik go obsługuje; brak kompresji – tylko do debugowania.