La plupart des problèmes après une conversion JSON en CSV apparaissent quand Excel ouvre le fichier, pas pendant la conversion. Excel devine l'encodage, le séparateur et le type de chaque valeur, et chaque mauvaise supposition se traduit par des accents illisibles, des valeurs coupées sur plusieurs colonnes ou des zéros manquants.
Voici les cinq symptômes les plus courants, leurs causes et leurs solutions, avec les réglages que le convertisseur JSON en CSV utilise déjà pour les éviter.
Sur cette page
À retenir
- Des accents illisibles signifient qu'Excel a lu de l'UTF-8 comme un autre encodage ; un indicateur d'ordre des octets (BOM) l'en empêche.
- Les valeurs contenant des virgules, des guillemets ou des retours à la ligne doivent être entre guillemets pour rester dans une seule cellule.
- Excel supprime les zéros initiaux et arrondit les nombres de plus de 15 chiffres ; gardez ces valeurs en texte.
- Convertir directement en XLSX supprime toutes les suppositions d'Excel.
Problèmes et solutions en un coup d'œil
| Symptôme | Cause | Solution |
|---|---|---|
| é au lieu de é | Encodage mal interprété | Utiliser l'UTF-8 avec un indicateur d'ordre des octets |
| Texte coupé sur plusieurs colonnes | Virgules non protégées par des guillemets | Mettre entre guillemets les valeurs qui contiennent le séparateur |
| Tout dans la colonne A | Le séparateur régional est un point-virgule | Importer via Données, À partir d'un fichier texte/CSV |
| 00123 s'affiche 123 | Excel lit les codes comme des nombres | Stocker la valeur en chaîne, ou utiliser le XLSX |
| Un identifiant long s'affiche 1,23E+15 | Excel conserve 15 chiffres | Stocker la valeur en chaîne, ou utiliser le XLSX |
Accents et symboles illisibles
Le JSON est presque toujours en UTF-8. Un CSV enregistré en UTF-8 sans indicateur d'ordre des octets est souvent lu par Excel comme un ancien encodage, ce qui transforme é en é et € en €.
Le convertisseur écrit un indicateur d'ordre des octets UTF-8 au début de chaque CSV, pour qu'Excel détecte correctement l'encodage. Si vous avez créé un CSV ailleurs, importez-le via Données, À partir d'un fichier texte/CSV et choisissez 65001 : Unicode (UTF-8).
Des valeurs coupées sur plusieurs colonnes
Une valeur comme "Lisbon, Portugal" contient une virgule. Si elle n'est pas entre guillemets, un lecteur CSV traite la virgule comme un changement de colonne. Les guillemets à l'intérieur des valeurs doivent aussi être doublés, et les retours à la ligne doivent se trouver entre guillemets, comme le décrit la RFC 4180.
name,address,note
Ana,"Lisbon, Portugal","She said ""call me"""Le convertisseur applique ces règles automatiquement. Si tout votre fichier atterrit dans la colonne A, le problème vient du séparateur de liste régional ; voyez pourquoi un CSV s'ouvre dans une seule colonne.
Zéros manquants et identifiants arrondis
En JSON, "00123" est clairement une chaîne. Dans un CSV, ce n'est que du texte, et Excel le transforme en nombre 123 à l'ouverture du fichier. Les nombres de plus de 15 chiffres sont arrondis, car Excel stocke les nombres avec 15 chiffres significatifs.
Le CSV lui-même est correct ; le changement se produit dans Excel. Deux solutions fiables :
- Importez le CSV via Données, À partir d'un fichier texte/CSV, choisissez Transformer les données et définissez ces colonnes en Texte.
- Passez le CSV et convertissez directement le JSON en classeur avec JSON en Excel, où les chaînes restent des chaînes.
Des lignes coupées par des retours à la ligne
Les descriptions et les adresses en JSON contiennent souvent des retours à la ligne \n. Dans le CSV, ils sont conservés à l'intérieur de valeurs entre guillemets, qu'Excel et Google Sheets gèrent correctement. Certains outils d'import simples lisent ligne par ligne et coupent ces enregistrements. Si votre système cible fait cela, remplacez les retours à la ligne par des espaces dans le JSON avant la conversion.
Une liste de contrôle rapide avant de convertir
- Le JSON est valide : pas de virgules finales, de guillemets simples ni de commentaires.
- Les identifiants et les codes sont stockés en chaînes dans le JSON, pas en nombres.
- Vous savez si le fichier sera ouvert dans Excel ou importé par un autre système.
- Pour Excel, envisagez le XLSX plutôt que le CSV.
- Pour les données imbriquées, lisez comment un JSON imbriqué devient un CSV.
JSON en CSV dans Excel : FAQ
Pourquoi mon CSV affiche-t-il é au lieu de é ?
Le fichier est en UTF-8, mais il a été lu avec un autre encodage. Un indicateur d'ordre des octets UTF-8, que le convertisseur ajoute, permet à Excel de le lire correctement.
Pourquoi mes valeurs sont-elles réparties sur des colonnes en trop ?
Elles contiennent des virgules qui n'étaient pas entre guillemets. Les valeurs correctement mises entre guillemets restent dans une seule cellule.
Pourquoi Excel a-t-il supprimé les zéros initiaux de mes identifiants ?
Excel convertit en nombres le texte qui leur ressemble quand il ouvre un CSV. Importez ces colonnes en Texte, ou convertissez plutôt le JSON en XLSX.
Le CSV conserve-t-il les retours à la ligne dans les valeurs ?
Oui, à l'intérieur des valeurs entre guillemets. Excel et Google Sheets les lisent correctement, mais pas certains outils d'import basiques.
Le XLSX est-il préférable au CSV pour ouvrir les données dans Excel ?
En général, oui. Un fichier XLSX stocke le type de chaque valeur : Excel n'a donc rien à deviner.
Corrigez la supposition, pas les données
Un CSV correctement écrit peut quand même sembler faux dans Excel, parce qu'Excel fait des suppositions en l'ouvrant. Utilisez l'UTF-8 avec un indicateur d'ordre des octets, mettez entre guillemets les valeurs spéciales, importez les identifiants en texte, ou supprimez toute supposition avec un fichier XLSX.