Tous les guides

Passer d’un CSV à du JSON sans perdre de données

Publié le · Mis à jour le 2 min de lecture

Un fichier CSV est un tableau écrit en texte, une ligne par enregistrement, les colonnes séparées par un caractère. Le JSON est une autre façon d’écrire des données, plus pratique pour les programmes et les sites. Convertir de l’un à l’autre paraît simple, mais quatre détails font souvent perdre ou déformer des données.

Le séparateur

Dans un CSV, les colonnes sont séparées par une virgule ou, très souvent en France, par un point-virgule. La raison tient aux nombres : en français, on écrit 24,5 avec une virgule, qui ne peut donc pas servir à séparer les colonnes. L’outil reconnaît les deux séparateurs, si bien qu’un fichier enregistré depuis un tableur français est lu correctement, avec 24,5 dans une seule colonne.

Les guillemets

Quand une valeur contient elle-même le séparateur, elle est écrite entre guillemets, par exemple « arrosage : matin, soir ». L’outil garde alors cette valeur en un seul morceau. Si le texte contient lui-même des guillemets, ils sont doublés dans le CSV et deviennent des guillemets protégés dans le JSON, par exemple « zone "nord" ».

Les nombres

Toutes les valeurs arrivent en texte dans le JSON, nombres compris : 18 devient "18" et 24,5 devient "24,5". C’est le point à connaître si un programme lit ensuite le fichier. Un programme qui attend un vrai nombre ne comprendra pas "24,5" : il faudra remplacer la virgule par un point, et retirer les guillemets autour des valeurs numériques.

Les champs vides

Un champ vide du CSV devient une chaîne vide dans le JSON, deux guillemets sans rien entre eux, et non la valeur « null ». Si votre programme fait la différence entre « vide » et « absent », prévoyez cette étape de nettoyage.

Dans quels cas convertir

Un tableur exporté d’une boutique, une liste de contacts ou un relevé de mesures se convertissent en JSON quand un site ou un programme doit les lire. La conversion inverse sert à ouvrir dans un tableur des données reçues d’un service en ligne.

Vérifier le résultat

Comparez le nombre de lignes du CSV et celui du JSON, puis ouvrez le fichier obtenu. Regardez en priorité les colonnes qui contiennent des décimales, des accents ou des virgules : ce sont celles où les erreurs apparaissent.

CSV vers JSON

Pour faire le chemin inverse, voyez Convertir du JSON en CSV.

Questions fréquentes

Pourquoi mes nombres deviennent-ils du texte dans le JSON ?
L’outil écrit toutes les valeurs en texte, nombres compris. Si un programme attend un vrai nombre, remplacez la virgule décimale par un point et retirez les guillemets autour des valeurs numériques.
Mon CSV utilise des points-virgules, est-il lu correctement ?
Oui, l’outil reconnaît le point-virgule comme la virgule, ce qui correspond aux tableurs en français.
Que devient une cellule vide ?
Elle devient une chaîne vide dans le JSON, pas la valeur « null ».
Comment garder une virgule à l’intérieur d’une valeur ?
Elle doit être entre guillemets dans le CSV, comme « arrosage : matin, soir ». L’outil garde alors la valeur en un seul morceau.