Cookie di statistica e di pubblicità
Usiamo cookie di statistica e di pubblicità, entrambi inviati a Google. Rifiutare non cambia niente di quello che vedi.Leggi la pagina sulla privacy
Qui converti TSV in NDJSON 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.
Fino a 100 file alla volta. Formati diversi insieme non sono un problema.
Vengono convertiti uno dopo l’altro e scaricati insieme in uno ZIP.
TSV in NDJSON
Gli indici di ricerca e gli archivi documenti non prendono file delimitati. Elasticsearch e OpenSearch ingeriscono tramite un endpoint bulk che legge JSON delimitato da newline.
Non è arbitrario. Un archivio documenti contiene documenti, e un documento ha campi nominati con tipi, cosa che una riga delimitata non ha.
L’output è un oggetto JSON completo per riga e nient’altro — nessuna parentesi di apertura, nessuna virgola tra record. Quell’assenza è il formato.
Permette a un caricatore di leggere una riga, indicizzarla, scartarla e proseguire, senza mai tenere l’intero file. Se qualcosa a valle rifiuta il file, controllate se voleva un array.
La riga di intestazione fornisce i nomi campo esattamente come scritti. Alcune destinazioni sono più esigenti del JSON: un punto in un nome campo è trattato come separatore di percorso da Elasticsearch e MongoDB.
BigQuery richiede che i nomi campo inizino con una lettera o underscore. Correggere la riga intestazione nella sorgente prima di convertire è una modifica; correggere un milione di documenti dopo il caricamento no.
JSON ha tipi e un file separato da tabulazioni no, quindi il parser deduce. I valori che sembrano numeri diventano numeri JSON, true e false diventano booleani, un campo vuoto diventa null.
L’inferenza sbaglia sempre nello stesso posto: gli identificatori. Uno SKU di 00123 diventa il numero 123. Anteponete o mettete tra virgolette quelle colonne nell’esportazione.
L’output è solo documenti. Elasticsearch e OpenSearch _bulk si aspettano una riga metadati prima di ogni documento, quindi pubblicare questo file direttamente produce un errore di parsing.
È un unico passaggio jq per aggiungerle: jq -c '{index:{}}, .' sul file convertito interpone una riga azione prima di ogni documento.
Le colonne indicizzate sono di solito quelle scomode: descrizioni prodotto, corpi articolo, testo di recensione. In un file separato da tabulazioni sono proprio i valori che rompono le cose.
In JSON sono contenuto stringa ordinario. Una tabulazione è scappata come \t, un a capo come \n, e nessuno può influenzare la struttura del documento.
Un campo vuoto è scritto come null piuttosto che come stringa vuota, e le chiavi vengono dalla riga intestazione piuttosto che dalle righe sotto.
Elasticsearch ignora un null ai fini dell’inferenza del tipo di campo, quindi una colonna null per le prime migliaia di documenti e numerica dopo può finire mappata dal primo valore non nullo che incontra.
Sia il lettore separato da tabulazioni sia lo scrittore JSON sono JavaScript ordinario caricato da questa pagina, quindi nessuna richiesta trasporta il file.
Il tetto è 100 MB per file, cento file per trascinamento. L’intera tabella viene costruita in memoria prima che qualcosa venga scritto, il che mette decine di megabyte comodamente nell’intervallo.
| TSV | NDJSON | |
|---|---|---|
| Nome completo | Tab-Separated Values | Newline-Delimited JSON |
| Estensione del file | .tsv, .tab | .ndjson, .jsonl |
| Tipo di media | text/tab-separated-values | application/x-ndjson |
| Prima pubblicazione | 1993 | 2013 |
| Specifica | IANA text/tab-separated-values | — |
| Licenza | Standard aperto | Standard aperto |
| Situazione attuale | Attuale | Attuale |
| Si apre nel browser | Nessun browser | Nessun browser |
| Valutato al suo posto | CSV, JSON | JSON, CSV |
Non si scarta nulla. TSV e NDJSON salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.
pandas legge sia TSV sia NDJSON, quindi puoi confrontare il risultato con l'originale senza un secondo programma.
TSV è stato pubblicato nel 1993. È descritto in IANA text/tab-separated-values, e vale la pena conoscerlo se il file deve sopravvivere allo strumento che lo ha scritto.
NDJSON risale al 2013. jq e pandas lo leggono.
TSV è stato pubblicato nel 1993 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.
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.
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.
No. NDJSON conserva lo stesso contenuto senza buttare via niente: il risultato è identico in qualità all’originale.
Non si scarta nulla. TSV e NDJSON salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.