Skip to content
Back to Blog
format-comparisons

CSV vs XLSX vs JSON : choisir le bon format de données

2026-05-17 9 min read

Pourquoi le format que tu choisis a une réelle importance

Choisir le mauvais format de données mène à de vraies galères évitables. Des heures passées à nettoyer des imports qui ont planté, à se battre avec des erreurs d'encodage, ou à expliquer à un collègue perplexe pourquoi ses formules de tableur ne marchent plus d'un coup. Ce n'est pas un problème technique rare ; c'est le genre de friction quotidienne qui plombe les projets des analystes, des développeurs et des équipes ops. Tu travailleras presque toujours avec l'un de ces trois formats : CSV, XLSX ou JSON. Ils se ressemblent en surface, mais ils résolvent des problèmes complètement différents. Le CSV est un bourreau de travail en texte brut qui a 50 ans et que presque tous les outils sur terre peuvent lire. L'XLSX est le puissant conteneur de Microsoft pour les feuilles de calcul, qui contient bien plus que des données brutes. Le JSON est le langage natif du web, qui alimente les API et les applications modernes. Aucun n'est « meilleur » que les autres. Un catalogue de produits à 10 colonnes venant de Shopify ? Exporte-le en CSV et il atterrira dans Google Sheets en 30 secondes, sans drame. Ce même catalogue, livré via une API ? Ce sera forcément du JSON. Et si ton équipe financière a besoin de tableaux croisés dynamiques, de mise en forme conditionnelle et de plages nommées, seul l'XLSX fera l'affaire. Ce guide te donne un cadre pratique pour choisir le bon format pour la tâche que tu dois réellement accomplir, sans te baser sur un débat technique abstrait.

CSV : points forts, points faibles et quand l'utiliser

Le CSV, ou Comma-Separated Values, est le format de données le plus simple qui soit. Chaque ligne est juste une ligne de texte, et les champs sont séparés par une virgule (ou parfois une tabulation ou un point-virgule). Pas de formules, pas de polices, pas de types de données. Juste du texte. Cette simplicité radicale est à la fois sa plus grande force et sa faiblesse la plus frustrante. Sa force est indéniable. Les fichiers CSV sont minuscules. Un jeu de données de 500 000 lignes qui occupe 45 Mo en XLSX peut être réduit à seulement 8 Mo en CSV. Mieux encore, tout peut le lire. La commande COPY de PostgreSQL, le module csv intégré de Python, la fonction read.csv() de R — tous gèrent le CSV nativement, sans nécessiter de bibliothèques spéciales. Pour les tâches ETL, les migrations de données ou les imports en masse dans des outils comme Salesforce ou Mailchimp, le CSV est le champion incontesté. Mais les faiblesses sont bien réelles. Le CSV n'a aucune idée de ce qu'est un « type de données ». Un code postal comme 00147 deviendra 147, à moins que ton outil d'importation soit assez malin pour le traiter comme du texte. Les dates sont un cauchemar ; quiconque a déjà essayé de fusionner des données de sources américaines (MM/JJ/AAAA) et européennes (JJ/MM/AAAA) connaît cette douleur. Est-ce que 04/05/2026 signifie le 4 mai ou le 5 avril ? Avec le CSV, c'est un coup de poker. Ensuite, il y a le chaos des virgules ou des sauts de ligne intégrés, qui exigent un encadrement parfait par des guillemets que de nombreux exportateurs ne gèrent tout simplement pas correctement. Et n'oublie pas l'encodage des caractères, où une incompatibilité entre UTF-8 et Windows-1252 crée ce fameux texte illisible. Donc, voici la règle : utilise le CSV quand tes données sont une table simple et plate, que tu as besoin d'une compatibilité maximale ou que la taille du fichier est critique. Si tu dois préserver la mise en forme, forcer des types de données ou gérer des données imbriquées, cherche ailleurs.

XLSX : plus qu'un tableur, moins qu'une base de données

L'XLSX est le format par défaut de Microsoft Excel depuis 2007, et il est parlé couramment par Google Sheets, LibreOffice Calc et tous les outils de BI sérieux. Petite anecdote : un fichier XLSX est en fait une archive ZIP remplie de fichiers XML. Tu peux le vérifier toi-même en renommant n'importe quel fichier .xlsx en .zip et en explorant son contenu. C'est cette architecture qui donne à l'XLSX sa puissance. Contrairement à l'approche « tout est texte » du CSV, l'XLSX stocke de vrais types de données. Une date est stockée comme un numéro de série (comme 46188 pour le 17 mai 2026) avec un code de formatage distinct, donc elle s'affiche toujours correctement pour l'utilisateur. Les nombres sont des nombres, avec jusqu'à 15 chiffres significatifs de précision. Les booléens sont VRAI/FAUX, pas des chaînes de caractères ambiguës. Au-delà de ça, l'XLSX intègre la prise en charge de plusieurs feuilles, de plages nommées, de formules, de graphiques, de tableaux croisés dynamiques et de règles de validation des données, le tout dans un seul fichier. Pour tout rapport destiné à un collègue non technique — surtout dans la finance ou les opérations — l'XLSX est le seul choix professionnel. Leur envoyer un CSV, c'est juste leur donner du travail en plus. Mais ce n'est pas une base de données. Parser un XLSX de 200 000 lignes avec pandas peut prendre 10 à 15 secondes, alors que les mêmes données en format CSV se chargent en moins de deux secondes. Et sois prévenu : l'XLSX a une limite stricte de 1 048 576 lignes par feuille. Si tu exportes un jeu de données plus volumineux, il sera tronqué sans avertissement. La complexité du format, avec des choses comme les cellules fusionnées et les lignes masquées, peut aussi causer de gros maux de tête aux scripts automatisés. Choisis l'XLSX quand ton public est un humain qui utilise un tableur, que tu as besoin d'une mise en forme riche ou de plusieurs feuilles, et que tu veux que les types de données soient préservés parfaitement sans prise de tête.

JSON : le format par défaut des développeurs et ses vrais compromis

Le JSON, ou JavaScript Object Notation, est le langage du web moderne. C'est le format standard pour les API REST, les fichiers de configuration et les bases de données NoSQL comme MongoDB. Sa fonctionnalité phare, et la raison de sa domination, est sa capacité à représenter nativement des données imbriquées et hiérarchiques. Un seul objet JSON peut décrire une commande qui contient un tableau de lignes d'articles, où chaque article a sa propre liste d'attributs de produit. Essayer de modéliser cela en CSV nécessiterait au moins trois fichiers distincts et un tas de clés de jointure. C'est pourquoi quand tu reçois des données de Stripe, Twilio ou de l'API Google Maps, tu obtiens du JSON. Quand tu envoies des données à un webhook, tu envoies du JSON. C'est le format par défaut pour une bonne raison. Le JSON préserve aussi proprement les types de données : les chaînes de caractères sont entre guillemets, les nombres ne le sont pas, les booléens sont true/false, et null est une valeur distincte. Il n'y a aucune ambiguïté. Mais cette puissance a un coût, surtout pour des données tabulaires simples. Une table plate de 100 000 lignes stockée sous forme de tableau d'objets JSON répétera chaque nom de champ 100 000 fois. Ce surplus signifie qu'un CSV de 4 Mo peut facilement devenir un fichier JSON de 18 Mo. Il est aussi très peu lisible pour un humain à grande échelle ; un blob JSON minifié n'est qu'un mur de texte. Bien qu'Excel et Google Sheets puissent importer du JSON, le processus est pénible. Tu dois naviguer dans les menus (Données → Obtenir des données → À partir d'un fichier → À partir de JSON) puis te battre avec l'éditeur Power Query pour aplatir la structure. C'est un bazar. Utilise le JSON pour les API, les données hiérarchiques et les flux de travail centrés sur JavaScript. Pour des données plates qu'une personne doit consulter, c'est presque toujours le mauvais outil.

Comparaison directe : un tableau de décision pratique

Mettons ces formats face à face sur les critères qui comptent dans le monde réel. En ce qui concerne la taille des fichiers et la performance, les différences sont frappantes. Pour une table de 100 000 lignes et 15 colonnes, un CSV peut peser entre 12 et 20 Mo. L'équivalent JSON pourrait faire entre 25 et 50 Mo à cause des clés répétées, tandis que l'XLSX pourrait se situer entre 8 et 25 Mo, battant parfois le CSV si les données sont principalement numériques grâce à sa compression ZIP interne. Pour la vitesse de traitement en Python, le CSV est le grand gagnant, se chargeant 2 à 5 fois plus vite que l'XLSX. Le JSON se situe quelque part entre les deux. En matière de compatibilité universelle avec les outils, rien ne bat le CSV. C'est le plus petit dénominateur commun, dans le bon sens du terme. L'XLSX arrive juste derrière, pris en charge par tous les tableurs et outils de BI, mais il nécessite des bibliothèques dédiées pour un accès programmatique. Le JSON est natif du web et de JavaScript mais semble lourd et étranger dans les applications de tableur. Et la structure des données ? Si tes données sont hiérarchiques, avec des objets à l'intérieur d'autres objets, le JSON est ton seul vrai choix. Pour préserver les types de données sans aucune configuration, l'XLSX et le JSON sont tous deux excellents, stockant distinctement les nombres, les chaînes de caractères et les booléens. Le CSV, en revanche, traite tout comme une chaîne de caractères, laissant l'interprétation à l'outil qui le reçoit. Mon conseil honnête ? Dans le doute, commence par le CSV. C'est le donneur universel de l'échange de données. Quelque chose, quelque part, pourra toujours le lire.

Convertir entre les formats : ce que CocoConvert gère et où sont ses limites

CocoConvert propose des conversions directes et bidirectionnelles entre CSV, XLSX et JSON. Pour les données tabulaires standard, notre outil est rapide et fiable. Tu peux télécharger un CSV de 50 000 lignes et récupérer un fichier XLSX parfaitement structuré en moins de 10 secondes. Nous gérons les six chemins de conversion : CSV→XLSX, CSV→JSON, XLSX→CSV, XLSX→JSON, JSON→CSV, JSON→XLSX. Le principal défi de la conversion vient de la complexité du JSON. Nos convertisseurs de JSON vers CSV et de JSON vers XLSX sont conçus pour le format de sortie d'API le plus courant : un tableau d'objets plats. Si ton JSON a quelques niveaux d'imbrication, CocoConvert essaiera de l'aplatir pour toi. Cependant, pour les structures profondément imbriquées ou irrégulières (comme des tableaux à l'intérieur de tableaux eux-mêmes dans des objets), le résultat pourrait être incomplet. Dans ces cas avancés, tu obtiendras de meilleurs résultats en pré-traitant le fichier toi-même avec un outil en ligne de commande comme jq (par ex., jq '.[] | {id: .id, name: .customer.name, total: .order.total}' input.json > flat.json) avant de le téléverser. Il y a d'autres comportements spécifiques à chaque format à connaître. Lors de la conversion de XLSX vers CSV, CocoConvert n'exporte que la feuille active. Si ton classeur a cinq feuilles, tu devras effectuer cinq conversions. De plus, les formules XLSX sont évaluées à leur dernière valeur calculée ; les formules elles-mêmes ne sont pas conservées dans le CSV ou le JSON résultant. C'est le comportement attendu, mais c'est un point de confusion fréquent. Enfin, les fonctionnalités d'affichage comme les graphiques, les tableaux croisés dynamiques et la mise en forme conditionnelle seront perdues, car elles n'ont pas d'équivalent en CSV ou en JSON. Si tu as besoin de restructurer un fichier XLSX tout en conservant toutes ses fonctionnalités, CocoConvert n'est pas le bon choix — une macro ou un script Python avec openpyxl est plus adapté. Nous croyons qu'il est important d'être transparent sur les limites de notre outil pour ne pas te faire perdre ton temps.

Prendre la décision finale : la checklist des formats

Alors, comment prendre la décision finale ? Arrête de penser aux « bonnes pratiques » abstraites et pose-toi quelques questions ciblées sur ta tâche spécifique. Avant tout : qui ou quoi va utiliser ce fichier ? Si la réponse est une personne qui passe sa vie sur Excel ou Google Sheets, envoie-lui un XLSX, sauf si le fichier est très volumineux. S'il est destiné à un développeur, à un pipeline automatisé ou à une API web, alors le CSV ou le JSON sont tes meilleures options. Ensuite, regarde la forme de tes données. Est-ce une grille simple et plate où chaque ligne a les mêmes colonnes ? Le CSV et l'XLSX sont parfaits. A-t-elle des structures imbriquées, comme une liste de tags pour chaque article de blog ? Tu as absolument besoin de JSON. Puis, pense aux aspects pratiques. Le fichier doit-il être lisible dans un éditeur de texte basique ? Prends le CSV. As-tu besoin de préserver une mise en forme spéciale, des formules, ou de garder plusieurs feuilles dans un seul classeur ? C'est un travail pour l'XLSX et uniquement l'XLSX. Et si la taille du fichier est une préoccupation majeure ? Pour les jeux de données vraiment énormes (plus de 500 000 lignes), le CSV est souvent le plus gérable. Le JSON sera boursouflé, et l'XLSX risque d'atteindre sa limite de lignes. Enfin, une question pour les développeurs : ce fichier vivra-t-il dans un dépôt Git ? Les formats en texte brut (CSV, JSON) sont bien supérieurs pour le contrôle de version car leurs modifications sont faciles à suivre. Un fichier binaire XLSX est un cauchemar à « differ ». Une fois que tu as répondu à ces questions, le bon choix est généralement évident. Les guerres de formats sont une distraction. Chacun de ces outils a un objectif clair, et l'astuce consiste simplement à faire correspondre l'outil à ton flux de travail.

CSV vs XLSX vs JSON : choisir le bon format de données | CocoConvert Blog