Da CSV con punto e virgola a JSON, mantenendo gli zeri iniziali

Segui un esempio CSV fittizio con virgolette e una cella su più righe: cambia separatore, controlla i record e converti in JSON mantenendo i valori come stringhe.

File fittizi per riprodurre i passaggi

Esempio sorgente
id;name;note;amount;active
0007;Atelier Demo;"Kit; taille M";12,50;false
0042;Studio Exemple;"Message ""merci""
Livraison mardi";0;true
0105;Boutique Fictive;"Paris, France";;false

1. Parti da un file che puoi controllare

Un’esportazione separata da punti e virgola può contenere un altro punto e virgola in una descrizione, delle virgolette e persino un’interruzione di riga all’interno di una cella. Sostituire ogni punto e virgola con una virgola danneggerebbe quei valori. Questo percorso usa tre record fittizi, così puoi controllare ogni passaggio prima di provare con la tua esportazione.

Scarica example-semicolon.csv e aprilo in un editor di testo. Le sue cinque colonne sono id, name, note, amount e active. Gli identificativi sono 0007, 0042 e 0105. La nota del secondo record contiene una vera interruzione di riga, quindi il file ha più righe visibili che record di dati.

2. Cambia il separatore, mantenendo i valori

Copia l’intero file nel convertitore di separatori CSV. Seleziona Punto e virgola (;) come separatore originale, quindi avvia la conversione. Devi scegliere tu il separatore; l’output usa sempre virgole tra le colonne. Copia il risultato e confrontalo con expected-comma.csv.

Il valore 12,50 diventa un campo racchiuso tra virgolette nell’output separato da virgole, ma la sua virgola decimale resta invariata. Kit; taille M mantiene il punto e virgola nel testo. Nella nota del secondo record, le virgolette attorno a merci vengono raddoppiate per il CSV e l’interruzione di riga resta all’interno della stessa cella.

3. Controlla i record prima di proseguire

Incolla il risultato nell’esploratore CSV e seleziona Virgola. Fai clic su “Esplora CSV” per generare la tabella. Dovresti vedere tre record e cinque colonne. Cerca 0042: dovrebbe rimanere una sola riga. Controlla l’identificativo e la nota. Nella tabella, l’interruzione di riga incorporata può apparire come uno spazio; l’esportazione filtrata permette di verificare che il valore sottostante sia conservato.

Prova Esporta CSV filtrato, poi usa il collegamento di download generato. Confronta il file con expected-filtered-0042.csv. Cancella la ricerca per visualizzare di nuovo tutte e tre le righe. Il download contiene soltanto i record corrispondenti alla ricerca, quindi per il passaggio successivo usa il risultato completo del convertitore di separatori se vuoi tutti e tre i record nel JSON.

4. Converti in JSON con valori di tipo stringa

Incolla il risultato completo separato da virgole in CSV in JSON. Confronta l’output con expected.json: dovrebbero esserci tre oggetti. Ogni intestazione diventa il nome di una proprietà. L’identificativo "0007" resta una stringa con i suoi zeri iniziali; anche "false", "true", "0" e "12,50" rimangono stringhe. La cella amount vuota del terzo record diventa "", non null.

L’interruzione di riga appare come sequenza di escape \n nel testo JSON. Quando un’applicazione legge quel JSON, rappresenta un’interruzione di riga all’interno del valore. Questa conversione non deduce numeri, date o valori booleani. Esegui consapevolmente eventuali conversioni di tipo successive, in base ai requisiti dell’applicazione di destinazione.

Prima di usare la tua esportazione

Le intestazioni devono essere uniche e ogni record deve avere lo stesso numero di campi. Le virgolette non valide vengono rifiutate. L’esploratore accetta fino a 2.000.000 di caratteri e visualizza i primi 500 record corrispondenti alla ricerca; l’esportazione include tutti i record filtrati. Questi limiti non garantiscono le prestazioni su ogni dispositivo.

La conversione non neutralizza le formule. Prima di aprire dati non attendibili in un foglio di calcolo, esamina le celle che iniziano con =, +, -, @, una tabulazione o un’interruzione di riga. Le sole virgolette CSV non le rendono sicure. Usa impostazioni di importazione appropriate e controlla le colonne di testo. Il comportamento varia da un foglio di calcolo all’altro; questo percorso non promette una compatibilità universale con Excel.

Domande frequenti

Il convertitore di separatori può produrre un output separato da punti e virgola?

No. Legge dati separati da virgole, punti e virgola o tabulazioni e produce CSV separato da virgole.

Perché il foglio di calcolo ha rimosso gli zeri iniziali?

Il foglio di calcolo può interpretare una colonna come numeri. Controlla il file di testo e scegli l’importazione come testo per gli identificativi, poi verifica il risultato nella tua applicazione.

Posso convertire in JSON soltanto il record cercato?

Sì. Esporta il CSV filtrato dall’esploratore con Virgola selezionato, poi incollane il contenuto in CSV in JSON. In questo esempio, cercando 0042 si ottiene un oggetto.

Riferimenti

Continua con un altro esercizio