Convertire Parquet in CSV

Qui converti Parquet in CSV gratis e senza account: trascina il file qui sopra e in un paio di secondi il risultato è pronto da scaricare. La conversione avviene dentro il tuo browser, quindi il file non viene mai caricato. Funziona allo stesso modo su Windows, macOS e Linux e anche su iPhone e Android, e continua a funzionare anche se stacchi la connessione.

  • Dove gira Nel tuo browser. Il file non viene mai caricato.
  • Senza perdita Non si butta via niente. CSV conserva esattamente ciò che Parquet teneva.
  • Limite di dimensione Fino a 100 MB per file, gratis e senza account.

Fino a 100 file alla volta. Formati diversi insieme non sono un problema.

La direzione che sembra sicura ed è quella con perdita

Andare nell’altra direzione è ovviamente una conversione: il testo diventa colonne tipizzate, e tutti si aspettano di controllare il risultato. Questa direzione sembra un’esportazione — i dati escono, niente viene compresso, niente viene dedotto — e quell’impressione è sbagliata in un modo specifico e costoso.

Il Parquet porta uno schema. Ogni colonna ha un tipo dichiarato, registrato in un footer, e un motore di query legge quel footer prima di leggere una riga. Un CSV porta una riga di intestazione di nomi e nient’altro. Quindi la conversione sposta i valori intatti e butta via tutto ciò che il file sapeva su di loro.

Come appare ogni tipo di colonna una volta diventato testo

I booleani arrivano come true e false. Gli interi e i numeri in virgola mobile sono scritti nella loro forma decimale. Le stringhe sono scritte come erano, tra virgolette solo dove il valore contiene una virgola, una virgoletta doppia o un ritorno a capo. I null diventano campi vuoti.

Niente di ciò è reversibile nello schema originale. Una colonna che il Parquet dichiarava intero a 32 bit e una che dichiarava double appaiono entrambe come cifre con un punto opzionale, e una colonna booleana e una colonna di testo contenente la parola “true” diventano indistinguibili. Se il CSV finirà caricato da qualche parte con un proprio schema, prendete i tipi di colonna dal file Parquet prima — DESCRIBE in DuckDB li stampa in una riga.

I timestamp diventano stringhe ISO 8601

Una colonna timestamp viene scritta come stringa ISO 8601, quindi un valore esce simile a 2024-03-11T09:30:00.000Z. È la migliore risposta disponibile in un formato senza tipo data: non è ambiguo su quale numero sia il mese, ordina correttamente come testo semplice, e ogni database e linguaggio lo analizza senza bisogno di specificare un formato.

Resta comunque testo. Una colonna data nel CSV non risponderà all’aritmetica delle date finché chi la legge non viene informato che la colonna è una data, e un foglio di calcolo che apre il file applicherà la propria interpretazione.

Gli interi grandi si allargano a testo invece di arrotondare

Il Parquet ha un tipo intero a 64 bit, e JavaScript — che è ciò che esegue la conversione — rappresenta esattamente i numeri interi solo fino a 53 bit. Un valore oltre quel punto non può essere portato come numero senza perdere precisione.

Invece di arrotondarlo, la conversione lo scrive come testo. Un riferimento d’ordine o un identificativo snowflake appare quindi nel CSV con ogni cifra intatta, e una colonna che mescola valori sicuri e non sicuri avrà alcune voci che erano numeri e altre che erano stringhe, che in un CSV appaiono comunque identiche.

Liste, struct e mappe diventano JSON dentro un campo

Il Parquet contiene dati annidati nativamente: una colonna può essere una lista di stringhe, uno struct con membri nominati, o una mappa. Una cella CSV contiene uno scalare singolo e non ha sintassi per nient’altro.

La conversione scrive quei valori come JSON dentro il campo, quindi una colonna lista arriva come ["a","b"] in una cella, tra virgolette perché il JSON contiene virgole. È reversibile se chi legge il file analizza il JSON, ed è profondamente scomodo se la destinazione è un foglio di calcolo o una schermata di importazione.

Il file diventa molto più grande

Aspettatevi diverse volte la dimensione, e a volte molto di più. Il Parquet scrive i valori nella loro forma binaria, comprime ogni colonna separatamente, e memorizza una colonna di valori ripetuti una sola volta come dizionario con piccoli riferimenti. Un CSV non ha nulla di tutto ciò: ogni valore viene scritto come caratteri, su ogni riga, non compresso.

Le colonne che si sono ridotte di più in ingresso sono quelle che si espandono di più in uscita. Un codice paese ripetuto su un milione di righe costava quasi nulla nel file Parquet e costa un milione di copie nel CSV. Vale la pena saperlo prima di provare a inviare il risultato via email.

Aprire il risultato in Excel, e la codifica che assume

Il CSV è UTF-8 senza byte order mark e una semplice interruzione di riga fra le righe. È corretto per script, importatori e controllo versione, ed è la cosa che fa apparire i nomi accentati come testo confuso quando il file viene aperto con doppio clic su Windows, perché Excel torna alla code page di sistema quando non c’è marcatore.

Importare tramite Dati, Ottieni Dati, Da Testo/CSV e scegliere UTF-8 evita il problema, e dà l’occasione di marcare le colonne identificative come testo allo stesso tempo. Se la destinazione è davvero un foglio di calcolo, convertire il file Parquet in XLSX invece rimuove la questione della codifica e mantiene i tipi.

Quante righe si possono estrarre da un file Parquet

Il lettore materializza ogni riga prima che qualcosa venga scritto, quindi l’intera tabella esiste in memoria contemporaneamente. Decine di megabyte di Parquet sono comode; notate che è un formato compresso, quindi un file modesto può espandersi a molto testo e il tetto arriva prima di quanto suggerisca la dimensione del file.

Per un’estrazione grande lo strumento corretto è DuckDB, che leggerà il file Parquet e scriverà un CSV in un’unica istruzione senza tenerli entrambi. Permette anche di selezionare solo le colonne che servono davvero, di solito la risposta migliore comunque.

L’estratto viene letto su questa pagina e non va oltre

Il lettore Parquet è una libreria caricata al bisogno da questa pagina e la scrittura è JavaScript ordinario, quindi nessuna richiesta porta il file da nessuna parte. Conta più qui che per la maggior parte delle coppie: un file Parquet è normalmente un artefatto dal centro di una piattaforma dati, cioè la versione prima del mascheramento e dell’aggregazione.

Non c’è coda, non c’è account e nessun limite di righe oltre alla vostra memoria. L’unica cosa che decide se la conversione funziona è se la tabella espansa ci sta, cosa che potete stimare dal conteggio delle righe nel footer.

Quando inviare il file Parquet così com’è

Se il destinatario ha strumenti dati moderni, inviate l’originale. DuckDB, pandas, Polars, R con arrow, Spark e ogni magazzino dati legge Parquet direttamente, e farlo preserva i tipi, mantiene il file piccolo e rimuove un intero passaggio in cui qualcosa può andare storto.

Convertite in CSV quando il destinatario genuinamente non può — un collega di finanza con un foglio di calcolo, una richiesta di audit che nomina il formato, una schermata di caricamento con una lista fissa. Sono casi reali e comuni, e questa conversione è per loro.

Come convertire Parquet in CSV

  1. Trascina il tuo file Parquet su questa pagina, oppure fai clic per sceglierne uno.
  2. Scegli CSV come destinazione. La conversione avviene nel tuo browser e il file non viene caricato.
  3. Scarica il file CSV finito.

Parquet o CSV: cosa cambia

Parquet a confronto con CSV
ParquetCSV
Nome completoApache ParquetComma-Separated Values
Estensione del file.parquet.csv
Tipo di mediaapplication/vnd.apache.parquettext/csv
CompressioneSenza perdita — non si butta via niente
Prima pubblicazione20131972
Pubblicato daApache Software Foundation
SpecificaRFC 4180
LicenzaStandard apertoStandard aperto
Situazione attualeAttualeAttuale
Si apre nel browserNessun browserNessun browser
Valutato al suo postoJSONXLSX, JSON

Che cosa resta

Non si scarta nulla. Parquet e CSV salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.

Che cosa aggiunge il formato di destinazione

CSV è un formato di lavoro e Parquet è un formato finito. Torna testo modificabile invece di un'immagine della pagina, che di solito è il motivo della conversione e insieme il suo limite.

Aprire il risultato

pandas legge sia Parquet sia CSV, quindi puoi confrontare il risultato con l'originale senza un secondo programma.

A che cosa serve ciascun formato

CSV risale al 1972, descritto in RFC 4180. Microsoft Excel, LibreOffice Calc e pandas lo leggono.

CSV è stato pubblicato nel 1972 e Parquet nel 2013. Il più vecchio è in genere il file più sicuro da consegnare; il più recente fa lo stesso lavoro con meno byte.

Da Parquet a CSV: domande frequenti

Il mio file Parquet viene caricato da qualche parte?

No. Questa conversione avviene interamente nel tuo browser, quindi il file non esce dal tuo dispositivo. Puoi controllarlo da solo: apri la scheda di rete degli strumenti per sviluppatori e converti qualcosa. Vedrai la pagina stessa e le richieste di statistica e di pubblicità con cui questo servizio si paga, e nemmeno una che porti il tuo file. Il motore di questa coppia è parquet-wasm, una compilazione WebAssembly del lettore di Apache Arrow; il browser lo scarica una volta e lo tiene in cache.

Convertire Parquet in CSV è gratis?

Sì. Senza account, senza filigrana e senza una quota giornaliera da consumare: gira sulla tua macchina, quindi puoi tornare quante volte vuoi. Il browser lavora file fino a 100 MB, 100 per volta. parquet-wasm viene scaricato sulla tua macchina e gira lì, ed è per questo che non c’è un contatore.

Si perde qualità convertendo Parquet in CSV?

No. CSV conserva lo stesso contenuto senza buttare via niente: il risultato è identico in qualità all’originale.

La conversione da Parquet a CSV è senza perdita?

Non si scarta nulla. Parquet e CSV salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.

Il file CSV è modificabile dopo?

CSV è un formato di lavoro e Parquet è un formato finito. Torna testo modificabile invece di un'immagine della pagina, che di solito è il motivo della conversione e insieme il suo limite.

Altro su questi formati