Vai allo strumento
ViewCSV
Nessun caricamento del file

Convertire un CSV in Parquet

orders.csv· DATI DI ESEMPIO15 righe · 8 colonne
Tipi di valore
Le colonne di testo vengono scritte come STRING UTF-8. Con il rilevamento si usano colonne INT64, DOUBLE e BOOLEAN quando tutti i valori sono compatibili.
orders.csv
#order_idcustomercityproductquantityunit_priceorder_datestatus
1001041Ginevra MarinoBolognaChair, ergonomic6199.842026-01-21pending
2001042Leonardo BianchiMilanoCoffee beans 1kg9162.742026-02-03refunded
3001043Leonardo EspositoMilanoDesk lamp285.912026-03-19shipped
4001044Aurora BianchiGenovaUSB-C cable624.822026-04-17shipped
5001045Andrea GrecoTorinoDesk lamp1·2026-05-05shipped
6001046Ginevra BianchiTorinoMonitor 27"8166.922026-06-21paid
7001047 Ginevra Esposito TorinoDesk lamp635.242026-07-17shipped
8001048Giulia FerrariMilanoUSB-C cable1141.912026-08-12paid
9001049Aurora RicciFirenzeNotebook A52108.072026-09-02paid
10001050Francesco GalloRomaUSB-C cable6215.562026-01-15shipped
11001051Alice RossiGenovaNotebook A55126.302026-02-19shipped
12001052Aurora RomanoTorinoCoffee beans 1kg8149.922026-03-18shipped
13001053Francesco GalloTorinoCoffee beans 1kg1164.322026-04-10paid
14001054Giulia FerrariNapoliChair, ergonomic830.592026-05-14paid
15001043Leonardo EspositoMilanoDesk lamp285.912026-03-19shipped

15 righe · 1 file Scritto nel tuo browser con un writer Parquet in JavaScript; non viene caricato nulla.

Apri o incolla un file CSV e seleziona «Scarica Parquet». Per impostazione predefinita ogni colonna è una STRING UTF-8 che ammette null, quindi gli ID come 000917 conservano gli zeri e le celle vuote diventano null. Scegli Riconosci numeri e true/false per scrivere colonne INT64, DOUBLE e BOOLEAN dove tutti i valori sono compatibili. Il file viene scritto nel tuo browser da un writer Parquet in JavaScript; non viene caricato nulla.

Come convertire un CSV in Parquet

  1. Apri un file .csv, .tsv o .txt, trascinalo sullo strumento oppure incolla le righe. Controlla la tabella in Dati di origine; se serve, imposta delimitatore, riga di intestazione o codifica in Impostazioni di importazione.
  2. Scegli Tipi di valore, Compressione, se attivare Scrivi il testo vuoto come null e il valore di Righe per gruppo di righe.
  3. Seleziona «Scarica Parquet» e leggi il file .parquet con DuckDB, pandas, Polars, Spark o qualsiasi altro lettore Parquet.

Per convertire molti file con le stesse impostazioni, scegli Conversione multipla: più file insieme. Ogni file diventa un file Parquet a sé e si scaricano tutti insieme in un unico ZIP. Nella conversione multipla ogni file non può superare i 25 MB.

Schema e tipi di colonna

I nomi delle colonne vengono presi dalla riga di intestazione esattamente come sono scritti. Un’intestazione vuota diventa Column 3 e una ripetuta name (2), così ogni colonna Parquet ha un nome univoco. Tutte le colonne sono facoltative (ammettono null).

Tratta tutti i valori come testoÈ l’impostazione predefinita. Ogni colonna è un BYTE_ARRAY annotato come stringa UTF-8 e contiene ogni valore byte per byte, compresi zeri iniziali, 1,5, N/A e formati di data.
Numeri interi (con rilevamento)INT64 quando tutti i valori non vuoti sono numeri interi senza zeri iniziali, da −9.007.199.254.740.991 a 9.007.199.254.740.991. Con interi più grandi la colonna resta testo.
Decimali (con rilevamento)DOUBLE quando tutti i valori sono decimali semplici con al massimo 15 cifre significative, così superano la conversione intatti. Una colonna che mescola 12 e 2.5 diventa DOUBLE.
true / false (con rilevamento)BOOLEAN quando tutti i valori sono true o false, in maiuscolo o minuscolo.
Date e timestampRestano STRING in entrambe le modalità, per esempio 2026-03-01T08:00:00Z. Convertili nel tuo motore di query, come con CAST(reading_at AS TIMESTAMP) in DuckDB.

Nelle colonne tipizzate una cella vuota è sempre null. Nelle colonne stringa è Scrivi il testo vuoto come null (attiva per impostazione predefinita) a stabilire se una cella vuota diventa null o una stringa vuota "".

Compressione e gruppi di righe

Snappy (veloce, predefinito comune)Il codec predefinito. Lo supportano tutti i lettori Parquet più diffusi.
Gzip (più compatto)Di solito produce un file più piccolo di Snappy. Alcuni lettori leggeri non includono il supporto per gzip.
NessunaNessuna compressione, per il debug o per strumenti senza decompressore.
Righe per gruppo di righePredefinito 100.000, tra 1.000 e 1.000.000. Poiché l’area di lavoro del browser contiene al massimo 100.000 righe, con il valore predefinito si scrive un solo gruppo di righe; imposta un valore più basso per ottenere più gruppi, che i lettori possono saltare o leggere in parallelo.

Nei metadati il file registra anche il writer (hyparquet) e una chiave created_by_app.

Problemi frequenti nella conversione da CSV a Parquet

  • Una colonna numerica è di tipo STRING. O è selezionato Tratta tutti i valori come testo, o un valore non è un numero semplice, come 1,234, 12 kg, 007 o un decimale di 16 cifre. Trovalo con il profilo delle colonne o con il visualizzatore CSV.
  • In un altro strumento gli ID hanno perso gli zeri iniziali. Questo convertitore non rende mai numerica una colonna con zeri iniziali. Se gli ID sono cambiati, probabilmente il CSV è stato aperto e salvato in un foglio di calcolo prima della conversione; controlla il file di origine nel Visualizzatore CSV.
  • È tutto in una sola colonna. Il delimitatore è stato riconosciuto male: sceglilo in Impostazioni di importazione. I CSV salvati da Excel in italiano usano spesso il punto e virgola.
  • Il file è troppo grande per questo strumento. La conversione in Parquet funziona con file fino a 25 MB, 100.000 righe, 250 colonne e 2 milioni di celle. Dividi il file con Dividi file CSV e converti le parti, oppure, se ti basta un download più leggero, comprimilo in gzip con Comprimi CSV.

Limiti e privacy

Il CSV deve potersi aprire nell’area di lavoro del browser: fino a 25 MB, 100.000 righe, 250 colonne e 2 milioni di celle. Il file Parquet viene costruito in memoria in un solo passaggio.

Il writer è hyparquet-writer, una libreria interamente JavaScript caricata solo quando converti: non ci sono passaggi WebAssembly né server. Gira in un worker in background in questa scheda del browser, quindi la pagina resta reattiva e Annulla interrompe la conversione. Il CSV non viene mai inviato a un server. Se ti serve invece un file di database interrogabile, usa Da CSV a SQLite.

Esempio: letture di sensori rilette con PyArrow

Letture di sensori con ID con zeri iniziali, timestamp ISO, celle vuote e una virgola tra virgolette, convertite con Riconosci numeri e true/false e la compressione predefinita Snappy, poi rilette con PyArrow. temp_c è diventata DOUBLE e ok BOOLEAN; sensor_id e reading_at sono rimaste stringhe. Con l’impostazione predefinita Tratta tutti i valori come testo tutte e cinque le colonne sono string e ok conserva TRUE così com’è scritto.

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 (letto con 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'}

Domande frequenti

Per convertire il CSV devo caricarlo?

No. Il file Parquet viene scritto da una libreria JavaScript in un worker nella scheda del browser, e il download viene creato in locale.

Perché le date non vengono scritte come DATE o TIMESTAMP di Parquet?

Nei CSV le date arrivano in molti formati e fusi orari, e indovinarli senza avvisare può spostare i valori. Vengono quindi scritte come stringhe, esattamente come nel file; convertile in DuckDB, Spark o pandas, dove scegli tu formato e fuso orario.

Quale compressione conviene scegliere?

Snappy funziona con praticamente tutti i lettori Parquet. Scegli gzip quando conta di più la dimensione del file e il tuo lettore lo supporta, e nessuna compressione solo per il debug.

Standard e riferimenti