Przejdź do narzędzia
ViewCSV
Plik nie jest nigdzie wysyłany

Konwertuj CSV do Parquet

orders.csv· DANE PRZYKŁADOWE15 wierszy · 8 kolumn
Typy wartości
Kolumny tekstowe są zapisywane jako UTF-8 STRING. Rozpoznawanie typów zapisuje kolumny INT64, DOUBLE i BOOLEAN tam, gdzie pasują wszystkie wartości.
orders.csv
#order_idcustomercityproductquantityunit_priceorder_datestatus
1001041Nikodem KamińskiPoznańDesk lamp7195.662026-01-06paid
2001042Antoni SzymańskiWrocławChair, ergonomic5106.182026-02-07refunded
3001043Franciszek KamińskiGdańskUSB-C cable1142.782026-03-19pending
4001044Nikodem LewandowskiGdańskCoffee beans 1kg3155.572026-04-26shipped
5001045Aleksander NowakKrakówDesk lamp9·2026-05-25pending
6001046Antoni KowalskiSzczecinNotebook A56234.472026-06-16pending
7001047 Maja Kamiński WrocławCoffee beans 1kg6239.012026-07-02pending
8001048Julia WójcikGdańskUSB-C cable8212.472026-08-02paid
9001049Zofia WójcikSzczecinChair, ergonomic129.672026-09-08refunded
10001050Aleksander WójcikPoznańDesk lamp761.382026-01-17shipped
11001051Jakub NowakKrakówChair, ergonomic376.092026-02-20paid
12001052Jan WójcikPoznańMonitor 27"457.812026-03-01refunded
13001053Alicja DąbrowskiLublinDesk lamp9110.392026-04-07pending
14001054Hanna KowalskiWrocławNotebook A5536.162026-05-11paid
15001043Franciszek KamińskiGdańskUSB-C cable1142.782026-03-19pending

15 wierszy · 1 plik Plik zapisuje w przeglądarce biblioteka Parquet napisana w JavaScripcie; nic nie jest wysyłane.

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

  1. Otwórz plik .csv, .tsv lub .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.
  2. Wybierz Typy wartości, Kompresja, zdecyduj, czy włączyć Zapisuj pusty tekst jako null, i ustaw Wierszy w grupie wierszy.
  3. Kliknij Pobierz Parquet i odczytaj plik .parquet w 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 tekstUstawienie 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 czasuW 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.
BrakBez kompresji – do debugowania lub dla narzędzi bez dekompresora.
Wierszy w grupie wierszyDomyś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, 007 lub 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.

CSV
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"
Parquet (odczyt w PyArrow)
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.

Standardy i źródła