Apri o incolla un file CSV: ogni riga diventa un elemento di un elenco YAML, con le chiavi prese dall’intestazione. Per impostazione predefinita ogni valore resta testo, e i valori che un parser YAML interpreterebbe in altro modo (NO, yes, 0150, 2024-03-01, null) vengono messi tra virgolette, così si ricaricano esattamente come sono scritti. Il file viene convertito nel browser e non viene mai caricato.
Come convertire un CSV in YAML
- Scegli Apri file, trascina sullo strumento un file
.csv,.tsvo.txtoppure usa Incolla. Se le chiavi non sembrano giuste, controlla delimitatore e codifica in Impostazioni di importazione. - Scegli i Tipi di valore e come scrivere le Celle vuote. La scheda YAML mostra esattamente il testo che conterrà il file scaricato.
- Imposta il Rientro, poi seleziona Copia o «Scarica YAML».
Il risultato è una sequenza di primo livello (elementi - key: value), la forma usata per fixture, dati di seed e file di dati dei siti statici. Se ti serve invece un JSON, Da CSV a JSON offre le stesse opzioni sui tipi.
A cosa serve ogni opzione
| Tratta tutti i valori come testo | È l’impostazione predefinita. Ogni valore è una stringa YAML; le virgolette vengono aggiunte solo dove uno scalare semplice verrebbe letto come qualcos’altro. |
|---|---|
| Riconosci numeri e true/false | Una colonna diventa numeri YAML solo se tutti i valori non vuoti sono numeri semplici senza zeri iniziali e con al massimo 15 cifre significative; le colonne true/false (maiuscole o minuscole) diventano booleani. yes/no e le date restano stringhe tra virgolette. I numeri vengono scritti in forma canonica, quindi 1.50 diventa 1.5. |
| Celle vuote | null (predefinito) scrive key: null; Testo vuoto "" scrive key: ""; Ometti la chiave elimina quella chiave dalla riga. |
| Rientro | 2 spazi (predefinito) o 4 spazi per le chiavi sotto ogni elemento dell’elenco. |
Quando i valori ambigui vanno tra virgolette
L’output è scritto in modo da rileggersi uguale sia nei parser YAML 1.2 sia in quelli YAML 1.1 più vecchi, come PyYAML, che considerano booleani e numeri un numero maggiore di parole.
- Codici di paese e risposte:
NO,yes,off,yeonvanno tra virgolette, così il codice della Norvegia non viene caricato comefalse. Vale anche per le chiavi ("on": x). - Zeri iniziali:
0150e08001vanno tra virgolette; senza, YAML 1.1 li legge come numeri ottali o decimali e perde lo zero. - Date e numeri in modalità testo:
2019-04-01e12vanno tra virgolette, così non vengono caricati come data e ora o come intero. - Testo simile a null: una cella che contiene
nullo~va tra virgolette, così resta il testo che hai scritto e non si confonde con una cella vuota. - Gli a capo dentro un valore diventano un blocco letterale
|-, e un testo che contiene:o#va tra virgolette. Le righe lunghe non vengono mai spezzate. - Le intestazioni vengono usate come chiavi esattamente come sono scritte, spazi e alfabeti non latini compresi. Un’intestazione vuota diventa
Column 3e una ripetutaname (2).
Risoluzione dei problemi
- Con Riconosci numeri e true/false una colonna numerica resta tra virgolette. Almeno un valore non è un numero semplice, per esempio
1,5,12 kgo007. Puoi trovarlo nel Visualizzatore CSV. - Una colonna sì/no non è diventata booleana. Vengono convertiti solo
trueefalse, perchéyes,noeonsono booleani solo in YAML 1.1. Se ti servono booleani, sostituiscili prima nel CSV con l’Editor CSV. - Le chiavi contengono caratteri strani come é. Il file non è in UTF-8. Scegli la sua codifica in Impostazioni di importazione.
- È tutto sotto una sola chiave. Il delimitatore è stato riconosciuto male: impostalo in Impostazioni di importazione. I CSV salvati da Excel in italiano usano spesso il punto e virgola.
Limiti e privacy
I file fino a 25 MB, 100.000 righe o 2 milioni di celle si aprono con un’anteprima dal vivo delle prime 200 righe. Quelli più grandi vengono convertiti in streaming: il file viene letto due volte a blocchi (una per misurare le colonne e i loro tipi, una per scrivere), un avviso ricorda che il download comprende l’intero file e Copia non è disponibile. Un singolo file di output può arrivare al massimo a 4 GB.
La conversione gira in un worker in background in questa scheda del browser: la pagina resta reattiva e Annulla la interrompe. Il CSV non viene mai inviato a un server.
Esempio
Un elenco clienti con codici di paese, CAP con zeri iniziali, indicatori sì/no, date e celle vuote, convertito con le impostazioni predefinite (tutto testo, celle vuote come null). Con Riconosci numeri e true/false cambia solo orders, che diventa 12, 3 e 7.
country,code,postcode,vat_registered,since,orders Norway,NO,0150,yes,2019-04-01,12 Spain,ES,08001,no,2021-11-15,3 United States,US,02134,,,7
- country: Norway code: "NO" postcode: "0150" vat_registered: "yes" since: "2019-04-01" orders: "12" - country: Spain code: ES postcode: "08001" vat_registered: "no" since: "2021-11-15" orders: "3" - country: United States code: US postcode: "02134" vat_registered: null since: null orders: "7"
Domande frequenti
Perché `NO` è tra virgolette?
In YAML 1.1 NO, no, off e n senza virgolette significano false. Le virgolette fanno restare testo, in qualsiasi parser, il codice di paese della Norvegia o qualunque risposta scritta come no.
Posso ottenere un’unica mappatura con un ID come chiave invece di un elenco?
No. Ogni riga del CSV viene scritta come un elemento dell’elenco, nell’ordine del file. Un output con chiavi non è disponibile qui.
L’output è YAML 1.2 valido?
Sì. Le virgolette in più richieste da YAML 1.1 restano YAML 1.2 valido: rendono solo esplicito che quei valori erano già stringhe.