Convertire XLSX in TSV

Qui converti XLSX in TSV 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 TSV funziona in modo diverso da XLSX. Non è quindi il degrado graduale di un codec con perdita: quello che TSV 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 Viene letto solo il primo foglio, e di quello solo i valori. Formule, formattazione, larghezza delle colonne e ogni foglio successivo restano fuori.

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

La tabulazione vince quando i dati sono pieni di virgole

Il motivo per preferire un file separato da tabulazioni è pratico. Gli indirizzi contengono virgole, le descrizioni dei prodotti contengono virgole, i numeri scritti all’italiana con la virgola decimale contengono virgole. In un file separato da virgole ognuno di questi casi va racchiuso tra virgolette, e chi legge il file deve implementare correttamente quella regola per ritrovare i confini delle colonne.

Le tabulazioni quasi mai compaiono nei dati, quindi il carattere separatore smette di competere con il contenuto. Una cella con scritto "Articolo, piccolo" esce esattamente così, senza virgolette attorno. Il comando cut -f la trova, awk -F"\t" la trova, un campo di testo in qualsiasi altro programma la trova: niente deve interpretare, deve solo dividere.

Il caso della tabulazione dentro una cella, che è quello che dà fastidio

Una tabulazione può finire per errore dentro una cella — incollata da qualche altra parte, digitata per sbaglio, portata da un’esportazione di un altro sistema. Quando succede, il convertitore scrive quella cella tra virgolette, perché l’alternativa sarebbe una riga che guadagna in silenzio una colonna in più.

È un’uscita corretta e un parser completo la gestisce, ma gli strumenti da riga di comando per cui questo formato viene scelto no: cut -f conta le tabulazioni e non sa nulla di virgolette, quindi da quella riga in poi vede un campo di troppo. Se una pipeline produce un output disallineato su poche righe, quasi sempre la causa è questa; conviene cercare ed eliminare le tabulazioni nel foglio originale piuttosto che correggere a valle.

Un solo foglio, perché un TSV è una sola tabella

Una cartella di lavoro può contenere trenta fogli. Un file separato da tabulazioni ne contiene uno, con una riga di intestazione, senza alcuna sintassi per rappresentare altro. La conversione prende quindi il primo foglio e lascia gli altri, l’unico comportamento che non produce mai in silenzio un file mescolato che nessuno ha chiesto.

Se il foglio che vi interessa non è il primo, spostatelo nella cartella di lavoro e riconvertite: richiede meno tempo che leggere questa frase. Vale la pena sapere quale foglio è davvero il primo, perché non sempre è quello che si apre per ultimo: la cartella ricorda quale scheda era attiva al salvataggio, quindi quella che vedete aprendo il file può non essere la prima, ma la conversione prende sempre quella più a sinistra.

Le date escono come numeri, e non è un errore

Un foglio di calcolo non memorizza date. Memorizza un conteggio di giorni e un formato di visualizzazione, e il calendario che vedete nella cella è quel formato al lavoro. La conversione legge il valore, non il travestimento: il 1° gennaio 2024 diventa 45292, e un orario porta lo stesso numero con una frazione per l’ora del giorno.

Il conteggio parte dalla fine di dicembre 1899, motivo per cui i numeri recenti stanno nelle decine di migliaia. Convertiteli dove il file arriverà, piuttosto che riformattare prima il foglio di calcolo, perché una data scritta come testo è un nuovo problema di analisi al posto di uno aritmetico.

Cosa diventano le colonne e cosa diventa una cella vuota

La riga di intestazione fornisce i nomi delle colonne, e l’insieme delle colonne è l’unione delle chiavi trovate in tutte le righe, non solo nella prima. Un foglio in cui un blocco di righe più avanti porta un campo in più produce comunque un file con quel campo nell’intestazione.

Le celle vuote restano campi vuoti invece di sparire, così ogni riga ha lo stesso numero di tabulazioni e il file resta rettangolare, esattamente quello che serve a uno strumento che lavora per posizione.

Gli zeri iniziali sopravvivono qui, a differenza di un giro attraverso il CSV

Un codice memorizzato come testo nella cartella di lavoro esce con gli zeri intatti: 007 resta 007, e un riferimento di conto con zeri davanti non viene toccato. Vale la pena dirlo perché il contrario è comune: un CSV aperto in Excel e risalvato trasforma quelle colonne in numeri, e gli zeri spariscono prima ancora che una conversione avvenga.

Quello che questa conversione non può correggere è un danno già fatto: se la cartella di lavoro contiene già 7 perché qualcuno ha importato un CSV con leggerezza il mese scorso, il TSV conterrà 7 allo stesso modo. Controllate una colonna di codici nel foglio originale prima di convertire; l’allineamento della cella di solito lo rivela, perché il testo va a sinistra e i numeri a destra.

Fine riga, codifica e incollare il risultato altrove

Le righe sono separate da un semplice ritorno a capo, e il testo è UTF-8: quello che si aspettano una pipeline Unix, una differenza Git e la maggior parte degli importatori moderni. Uno strumento Windows che insiste su un’altra convenzione lo leggerà comunque quasi sempre.

L’output è testo semplice, quindi sopravvive anche a essere incollato piuttosto che caricato — in un client di database, in un campo di modulo, in un messaggio, in un editor di testo. Questa strada vale la pena ricordarla quando la destinazione ha una schermata di importazione poco affidabile ma accetta un incolla.

Caricare un file separato da tabulazioni in Postgres o in R

Postgres legge questa forma direttamente con COPY, e il dettaglio da sapere riguarda le celle vuote: nel suo formato testo un campo vuoto è una stringa vuota, non un valore nullo, e solo il simbolo \N indica un nullo. Se la colonna di destinazione è numerica e il foglio ha buchi, quella differenza è l’errore che vedrete.

R legge il file con read.delim, che assume già la tabulazione come separatore, e pandas con sep="\t". In entrambi i casi conviene specificare il tipo per qualunque colonna che sia un identificatore piuttosto che una quantità, altrimenti l’inferenza automatica applicherà lo stesso arrotondamento che ha trasformato 007 in 7.

Quanto pesa una cartella di lavoro che questa conversione gestisce

Sia l’analisi sia la scrittura avvengono nel vostro browser, quindi non viene caricato nulla e non esiste una coda, un livello o un limite di righe oltre alla memoria della vostra macchina. Un foglio di cinquantamila righe su sei colonne si converte in un istante e produce circa 1,8 MB di testo separato da tabulazioni, a partire da un .xlsx di circa 4,3 MB.

Il limite reale è che l’intero file deve stare in memoria contemporaneamente, il che rende decine di megabyte tranquillamente gestibili e centinaia il punto in cui la scheda del browser inizia a faticare. Oltre quella soglia lo strumento giusto è un lettore che elabora il file a flusso in uno script, non un convertitore da browser.

Quando CSV, NDJSON o SQL sono il bersaglio migliore

Scegliete il CSV se la destinazione è una schermata di importazione che lo nomina esplicitamente, perché uno strumento che dice CSV spesso lo intende alla lettera e non accetterà un altro separatore per quanto sensato. Scegliete NDJSON se i valori devono mantenere il proprio tipo lungo il percorso, dato che un file delimitato non ha modo di distinguere il numero 7 dal testo "7".

Scegliete SQL se le righe vanno in una tabella già esistente, e Parquet se vanno in un motore analitico che le interrogherà più volte. Il TSV resta la risposta giusta per un caso specifico: strumenti testuali che dividono su un carattere, a patto che quel carattere non compaia nei dati.

Come convertire XLSX in TSV

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

XLSX o TSV: cosa cambia

XLSX a confronto con TSV
XLSXTSV
Nome completoCartella di lavoro di ExcelTab-Separated Values
Estensione del file.xlsx.tsv, .tab
Tipo di mediaapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheettext/tab-separated-values
Prima pubblicazione20071993
Pubblicato daMicrosoft
SpecificaECMA-376IANA text/tab-separated-values
LicenzaStandard apertoStandard aperto
Situazione attualeAttualeAttuale
Si apre nel browserNessun browserNessun browser
Valutato al suo postoCSV, ODS, ParquetCSV, JSON

Aprire il risultato

Microsoft Excel e LibreOffice Calc leggono sia XLSX sia TSV, quindi puoi confrontare il risultato con l'originale senza un secondo programma.

A che cosa serve ciascun formato

I due puntano a lavori diversi: XLSX a la modifica, TSV a spostare dati fra programmi. Vale la pena valutarlo prima, perché il motivo per cui esiste uno è di solito il motivo per cui l'altro risulta scomodo.

XLSX è il formato di Microsoft, pubblicato nel 2007. È descritto in ECMA-376, e vale la pena conoscerlo se il file deve sopravvivere allo strumento che lo ha scritto.

TSV risale al 1993, descritto in IANA text/tab-separated-values. Microsoft Excel, LibreOffice Calc e pandas lo leggono.

Da XLSX a TSV: domande frequenti

Il mio file XLSX 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 è SheetJS, un lettore e scrittore di fogli di calcolo in JavaScript; il browser lo scarica una volta e lo tiene in cache.

Convertire XLSX in TSV è 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. SheetJS viene scaricato sulla tua macchina e gira lì, ed è per questo che non c’è un contatore.

Si perde qualità convertendo XLSX in TSV?

XLSX e TSV descrivono il contenuto in modi radicalmente diversi. La conversione è quindi una ricostruzione e non una copia: fedele, ma non identica byte per byte. Viene letto solo il primo foglio, e di quello solo i valori. Formule, formattazione, larghezza delle colonne e ogni foglio successivo restano fuori.

Devo installare qualcosa per aprire un file TSV?

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 Tab-Separated Values.

Altro su questi formati