CSV ou JSON : lequel choisir pour vos données ?
CSV ou JSON : lequel choisir pour vos donnees ?
Meta-description : CSV ou JSON ? Comparatif clair des deux formats de donnees les plus utilises. Avantages, limites et cas d'usage concrets pour faire le bon choix.
Quand on doit stocker ou echanger des donnees, deux formats reviennent systematiquement : le CSV et le JSON. Les deux sont en texte brut, les deux sont lisibles par un humain, et les deux sont supportes a peu pres partout. Alors lequel choisir ?
La reponse courte : ca depend de vos donnees. La reponse longue, c'est cet article.
CSV : le tableur universel
Le CSV (Comma-Separated Values), c'est le format le plus basique qui existe. Chaque ligne = un enregistrement, chaque valeur est separee par une virgule (ou un point-virgule en France).
nom,prenom,age,ville
Dupont,Marie,34,Lyon
Martin,Pierre,28,Paris
Ce que le CSV fait bien :
- Stocker des donnees tabulaires (lignes/colonnes)
- Etre lu par n'importe quel tableur
- Etre leger (pas de syntaxe superflue)
- Etre comprehensible meme par un non-technicien
Ce que le CSV fait mal :
- Gerer des donnees imbriquees (un client avec plusieurs commandes)
- Stocker des types complexes (listes, objets)
- Gerer les caracteres speciaux sans ambiguite
JSON : le format des developpeurs
Le JSON (JavaScript Object Notation) est ne dans le monde du web. C'est le format standard pour les API et les applications modernes.
json
[
{
"nom": "Dupont",
"prenom": "Marie",
"age": 34,
"ville": "Lyon",
"commandes": [
{"id": 1, "montant": 45.90},
{"id": 2, "montant": 120.00}
]
}
]
Ce que le JSON fait bien :
- Representer des structures complexes et imbriquees
- Typer les donnees (nombre, texte, booleen, null)
- S'integrer nativement avec les langages de programmation
- Gerer les caracteres speciaux via l'echappement Unicode
Ce que le JSON fait mal :
- Etre lu rapidement par un humain (surtout quand c'est gros)
- S'ouvrir dans Excel ou Google Sheets directement
- Etre leger quand les donnees sont de simples tableaux
Comparatif direct
| Critere | CSV | JSON |
|---------|-----|------|
| Lisibilite humaine | Tres bonne pour les tableaux | Moyenne (verbeux) |
| Donnees tabulaires | Parfait | Surdimensionne |
| Donnees imbriquees | Impossible | Parfait |
| Taille du fichier | Leger | 30-50% plus lourd |
| Support tableur | Natif | Necessite conversion |
| Support API/web | Rare | Standard |
| Types de donnees | Tout est du texte | Types natifs |
| Courbe d'apprentissage | Nulle | Facile pour un dev |
Quand choisir le CSV
Utilisez le CSV quand :
- Vos donnees tiennent dans un tableau simple (lignes et colonnes)
- Vous echangez avec des non-techniciens (comptables, RH, commerciaux)
- Vous importez/exportez depuis un tableur, un CRM ou un ERP
- Vous traitez de gros volumes de donnees simples
- Vous voulez que n'importe qui puisse ouvrir le fichier
Exemples concrets :
- Export de contacts depuis un CRM
- Liste de produits pour un site e-commerce
- Donnees comptables pour l'expert-comptable
- Resultats d'enquete ou de sondage
- Catalogue de references produits
Quand choisir le JSON
Utilisez le JSON quand :
- Vos donnees ont une structure hierarchique
- Vous communiquez entre applications (API REST)
- Vous avez besoin de types precis (nombres vs texte)
- Vos enregistrements ont des champs variables
- Vous travaillez avec des developpeurs
Exemples concrets :
- Configuration d'application
- Reponse d'API web
- Donnees utilisateur avec historique d'actions
- Arborescence de categories avec sous-categories
- Stockage de formulaires avec champs dynamiques
Convertir entre les deux
Il arrive souvent qu'on recoive des donnees dans un format et qu'on ait besoin de l'autre.
JSON vers CSV
C'est possible uniquement si le JSON est "plat" (pas d'imbrication). Un tableau d'objets avec les memes cles se convertit facilement en CSV. Des que vous avez des sous-objets ou des tableaux, il faut "aplatir" la structure, ce qui implique des choix.
CSV vers JSON
Toujours possible. Chaque ligne devient un objet, chaque en-tete de colonne devient une cle. C'est mecanique.
Pour verifier la structure de votre CSV avant conversion, un viewer en ligne permet de voir rapidement si les donnees sont propres et bien structurees.
Le cas hybride : CSV pour le stockage, JSON pour l'echange
Beaucoup d'equipes utilisent les deux formats de maniere complementaire :
- Stockage et archivage : CSV (leger, universel, versionnable avec Git)
- API et integration : JSON (type, structure, standard web)
- Analyse et reporting : CSV (compatible tableurs)
- Configuration : JSON (lisible, commentable avec JSON5)
C'est pas une question de "l'un ou l'autre", mais de choisir le bon outil pour chaque usage.
En resume
Ne tombez pas dans le piege du "JSON c'est moderne donc c'est mieux". Le CSV a 50 ans et il est toujours la pour une bonne raison : c'est le format le plus simple et le plus universel pour les donnees tabulaires.
Si vos donnees tiennent dans un tableau, prenez du CSV. Si elles sont imbriquees ou destinees a une API, prenez du JSON. Et si vous hesitez, commencez par visualiser vos donnees dans un viewer CSV pour comprendre leur structure.