Convertire NDJSON in CSV

Qui converti NDJSON 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.
  • Ricostruito CSV funziona in modo diverso da NDJSON. Non è quindi il degrado graduale di un codec con perdita: quello che CSV sa esprimere viene riprodotto fedelmente, e quello che lì non ha un equivalente non sopravvive affatto.
  • Limite di dimensione Fino a 100 MB per file, gratis e senza account.
  • Vale la pena saperlo Gli oggetti annidati vengono appiattiti in colonne. I dati molto annidati perdono la loro forma.

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

Una riga in ingresso, una riga in uscita, e il conteggio è noto in anticipo

L’aritmetica qui è più semplice che per qualunque altra sorgente su questo sito. NDJSON garantisce un record completo per riga, quindi il numero di righe che otterrete è il numero di righe nel file. Nulla nei dati può produrre un ritorno a capo, perché un a capo dentro un valore stringa è codificato dentro il JSON.

Questo rende la conversione prevedibile in un modo che un array JSON non è. Se il file ha 412.000 righe ottenete 412.000 righe più un’intestazione, e se l’output ne ha meno, qualcosa era sbagliato nell’input. Le righe vuote vengono saltate, incluso l’a capo finale che quasi ogni scrittore lascia.

Le righe in disaccordo sono ciò che rende la tabella larga

Ogni riga in un file NDJSON è indipendente, e nulla obbliga la seconda a portare le chiavi della prima. Un flusso di log che emette diversi tipi di evento — una richiesta, un errore, un completamento di lavoro — li mette tutti in un file con campi diversi ciascuno.

La conversione raccoglie ogni chiave vista ovunque nel file e le dà una colonna, lasciando celle vuote dove una riga non aveva nulla. Nulla si perde, e il risultato può essere molto sparso: quaranta colonne di cui ogni riga ne usa otto. Se descrive il vostro output, la mossa utile è filtrare il file a un tipo di evento prima di convertire.

Una riga malformata ferma la conversione e si nomina da sola

Se una riga non è JSON valido, la conversione non continua oltre. Il messaggio dice quale riga. È deliberato piuttosto che fragile, ed è il comportamento che vale la pena volere.

Una riga rotta in un log quasi mai significa un carattere estraneo. Significa una scrittura troncata — un processo terminato a metà flush, un file ruotato tagliato a un confine — e tutto dopo quel punto è sospetto. Con il numero di riga in mano, cancellare o riparare la coda richiede un comando, e sapete esattamente cosa avete perso.

I campi di log annidati diventano colonne con punti

Il logging strutturato di solito annida: un oggetto request con un metodo e un percorso, un oggetto user con un id, un blocco context con un identificatore di traccia. Questi si appiattiscono in colonne nominate per il percorso, con una colonna per ogni valore foglia.

Uno o due livelli producono una tabella con cui chiunque può lavorare, e copre i predefiniti della maggior parte delle librerie di logging. Strutture più profonde si allargano rapidamente, e una riga di log che porta un intero payload serializzato produrrà una colonna per ogni campo al suo interno.

Gli array dentro una riga non hanno una buona colonna

Un record che porta una lista — tag, frame di errore, un insieme di regole applicate — viene appiattito in colonne numerate: tags.0, tags.1, tags.2. Ogni valore sopravvive e la tabella riceve una colonna per la lista più lunga del file, per lo più vuote.

Per l’analisi raramente è ciò che volete. Se l’array è incidentale, unirlo in una singola stringa prima di convertire produce una colonna leggibile. Se l’array è ciò che state analizzando, la forma che volete è una riga per elemento, il che significa espandere il file prima.

Cosa non può portare un CSV dalle righe JSON

I tipi sono la vittima principale, e vale la pena essere chiari che si perdono alla destinazione piuttosto che in transito. I valori sono scritti fedelmente — un numero come cifre, un booleano come true o false, un null come cella vuota — ma il CSV non ha un sistema di tipi.

Excel decide male e in modo prevedibile: gli zeri iniziali svaniscono dagli identificatori, qualunque cosa abbia forma di data diventa una data, e gli id numerici lunghi perdono le ultime cifre. Il rimedio è importare piuttosto che aprire — Dati, poi Da Testo/CSV, con le colonne identificatore impostate su Testo.

Virgolette, separatori e i valori che ne hanno bisogno

I valori contenenti una virgola, una virgoletta o un a capo vengono avvolti in virgolette doppie con le virgolette interne raddoppiate, la convenzione RFC 4180 letta correttamente da ogni importatore serio. Tutto il resto viene scritto nudo.

I dati di log si appoggiano a questo meccanismo più della media. User agent, percorsi di richiesta con stringhe di query, messaggi di errore e stack trace sono pieni di virgole e virgolette. Se la destinazione è una pipeline di shell piuttosto che un foglio di calcolo, convertire in valori separati da tab evita del tutto la questione.

Quanto grande un file di log gestisce questo

L’analisi è veloce e il tetto è la memoria, perché l’intero file viene letto in record e l’insieme completo delle colonne calcolato prima che la prima riga possa essere scritta. Il livello gratuito accetta fino a 100 MB; decine di megabyte convertono senza drammi.

Oltre, il formato sorgente è dalla vostra parte. NDJSON si divide in sicurezza a qualunque confine di riga, quindi convertire un log molto grande a pezzi è legittimo piuttosto che un espediente, e i pezzi hanno intestazioni identiche se le forme degli eventi sono le stesse.

Il log non lascia mai la vostra macchina

La conversione è JavaScript ordinario in esecuzione in questa scheda del browser. Nessuna richiesta porta il file da nessuna parte, non c’è account né limite giornaliero, e potete confermarlo aprendo il pannello di rete.

Non è una gentilezza per questa coppia. Un log di produzione contiene indirizzi IP, identificatori di sessione, percorsi di richiesta e spesso una stringa di query con un token dentro — esattamente il contenuto che rende il caricamento su un servizio web un evento da segnalare nella maggior parte delle organizzazioni.

Come convertire NDJSON in CSV

  1. Trascina il tuo file NDJSON 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.

NDJSON o CSV: cosa cambia

NDJSON a confronto con CSV
NDJSONCSV
Nome completoNewline-Delimited JSONComma-Separated Values
Estensione del file.ndjson, .jsonl.csv
Tipo di mediaapplication/x-ndjsontext/csv
Prima pubblicazione20131972
SpecificaRFC 4180
LicenzaStandard apertoStandard aperto
Situazione attualeAttualeAttuale
Si apre nel browserNessun browserNessun browser
Valutato al suo postoJSONXLSX, JSON, Parquet

Aprire il risultato

pandas legge sia NDJSON 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 NDJSON nel 2013. Il più vecchio è in genere il file più sicuro da consegnare; il più recente fa lo stesso lavoro con meno byte.

Da NDJSON a CSV: domande frequenti

Il mio file NDJSON 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.

Convertire NDJSON 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.

Si perde qualità convertendo NDJSON in CSV?

NDJSON e CSV descrivono il contenuto in modi radicalmente diversi. La conversione è quindi una ricostruzione e non una copia: fedele, ma non identica byte per byte. Gli oggetti annidati vengono appiattiti in colonne. I dati molto annidati perdono la loro forma.

Devo installare qualcosa per aprire un file CSV?

Per la conversione no: avviene nel browser che hai già aperto. Per aprire il risultato ti serve poi il programma con cui il tuo dispositivo mostra di solito Comma-Separated Values.

Altro su questi formati