Comment ça marche : CSV et JSON
Le fait que presque personne ne dit : « le format CSV » n'est pas une norme. Son document de référence porte la mention « pour information » et écrit lui-même qu'il existe des différences considérables entre les implémentations. C'est pourquoi cet outil MESURE le séparateur au lieu de le supposer, et vous montre ce qu'il a trouvé.
Le sens de la conversion se DÉDUIT de ce que vous collez : un texte qui commence par une accolade ou un crochet est du JSON, tout le reste est du CSV. C'est la même logique que le coffre chiffré et le PDF protégé de ce site : on ne demande pas de choisir un mode qu'on ne connaît pas.
Le CSV est un format sans norme, et c'est la source de presque tous les ennuis. Le document de référence porte la mention « pour information », et il écrit lui-même qu'il existe des différences considérables entre les implémentations. Sur un tableur européen, le séparateur est un point-virgule, parce que la virgule y est le séparateur décimal. L'outil MESURE donc le séparateur : il essaie les quatre candidats et garde celui qui donne le nombre de colonnes le plus régulier, puis il affiche celui qu'il a retenu.
Les règles du document de référence sont appliquées à la lettre, y compris celle que la moitié des convertisseurs ratent : un champ entouré de guillemets peut contenir un SAUT DE LIGNE. C'est pour cela que le lecteur avance caractère par caractère au lieu de découper le texte par lignes. Un guillemet à l'intérieur d'un champ entouré se double, et l'outil l'écrit comme tel dans le sens inverse.
Comment ça marche
- Collez votre CSV, ou votre JSON. L'outil reconnaît lequel des deux et affiche le sens de la conversion.
- Vérifiez le séparateur qu'il a mesuré, et la première ligne d'en-tête. Ce sont les deux seules choses qui peuvent tromper un convertisseur.
- Copiez ou téléchargez le résultat. Le tableau vous dit combien de lignes et de colonnes ont été lues.
Formats acceptés
Le sens se déduit du texte. Un JSON doit être un tableau d'objets pour donner un tableau à deux dimensions : c'est la forme que produisent presque toutes les exportations.
Du texte au format CSV
Séparateur mesuré parmi la virgule, le point-virgule, la tabulation et la barre verticale. Champs entourés de guillemets, guillemets doublés et sauts de ligne dans un champ sont traités.
Du texte au format JSON
Un tableau d'objets donne une ligne par objet et une colonne par clé rencontrée. Une valeur imbriquée est écrite en JSON dans sa cellule, et l'outil le signale.
Ses limites
Il n'existe pas de norme du CSV, et l'outil ne prétend pas le contraire
Le document de référence de 2005 est classé « pour information » : il DÉCRIT un usage observé, il ne le normalise pas, et il écrit lui-même qu'il existe des différences considérables entre les implémentations. Conséquence pratique : un fichier accepté par un logiciel peut être refusé par un autre, et ce n'est la faute de personne. L'outil applique les règles de ce document et affiche ce qu'il a mesuré, pour que vous puissiez juger.
Un JSON à plusieurs niveaux ne devient pas un CSV à plusieurs niveaux
Un CSV est un tableau plat : deux dimensions, pas trois. Quand une valeur est elle-même un objet ou une liste, l'outil l'écrit en JSON dans sa cellule et vous le signale, ce qui garde l'information sans faire semblant de l'avoir aplatie. Choisir une convention d'aplatissement à votre place, avec des noms de colonnes fabriqués, serait une décision que nous n'avons pas à prendre.
La conversion des nombres est proposée, et elle peut abîmer un identifiant
Un code postal qui commence par un zéro, un numéro de téléphone, un identifiant de dix-neuf chiffres : les transformer en nombres leur fait perdre leur zéro de tête ou leurs derniers chiffres. La case est cochée par défaut parce que c'est ce qu'on attend d'un fichier de mesures, mais décochez-la sur un fichier de références : tout restera en texte.
La marque d'ordre d'octets est proposée pour le CSV, et pas par hasard
Un tableur très répandu n'affiche correctement un CSV en UTF-8 que si le fichier commence par cette marque : sa documentation le dit. Sans elle, les accents deviennent des suites de signes étranges. Mais cette même marque fait échouer d'autres programmes, qui la lisent comme un caractère du premier champ. Il n'y a pas de bon choix universel : la case existe, et son pourquoi est écrit à côté.
Questions sur cet outil
Mes données sont-elles envoyées quelque part ?
Non, et cela compte : un fichier CSV est presque toujours une exportation de données réelles, souvent avec des noms et des adresses. Vérifiez en trente secondes : ouvrez l'inspecteur avec la touche F12, onglet « Réseau », videz la liste, puis collez votre fichier et convertissez. Aucune ligne n'apparaît. Coupez votre connexion et refaites-le.
Mon CSV a des points-virgules, est-ce un problème ?
Non, et c'est même le cas le plus courant en Europe. Comme la virgule y sert de séparateur décimal, les tableurs emploient le point-virgule pour séparer les colonnes. L'outil essaie les quatre séparateurs possibles et garde celui qui donne le nombre de colonnes le plus régulier, puis il vous dit lequel il a retenu. Si sa mesure se trompe, imposez-le dans la liste.
Mes codes postaux perdent leur zéro de tête.
Décochez « convertir en nombres ce qui ressemble à un nombre ». Un code postal, un numéro de téléphone, un numéro de compte ne sont pas des nombres : ce sont des suites de chiffres, et les traiter comme des nombres leur fait perdre leur zéro de tête. La case est cochée par défaut parce que c'est ce qu'on attend d'un fichier de mesures, mais elle se décoche en un clic et tout reste en texte.
Pourquoi les accents sont-ils cassés quand j'ouvre le CSV dans mon tableur ?
Parce qu'un tableur très répandu ne reconnaît l'UTF-8 dans un CSV que si le fichier commence par une marque d'ordre d'octets : c'est écrit dans sa propre documentation. Cochez la case qui l'ajoute et rouvrez le fichier. Attention à l'inverse : cette même marque fait échouer certains programmes, qui la lisent comme un caractère du premier champ. Il n'y a pas de bon choix universel, seulement le choix qui convient à la destination.
Mon JSON a des objets dans des objets. Que devient cette structure ?
Elle est conservée, mais écrite en JSON à l'intérieur de la cellule, et l'outil vous le signale. Un CSV est un tableau plat, à deux dimensions : il n'y a pas de façon universelle d'y ranger une structure à trois niveaux. Les conventions existent, elles fabriquent des noms de colonnes comme « adresse.ville », et chacune est un choix arbitraire. Nous préférons garder votre donnée intacte et vous dire où elle est.
Le fait que presque personne ne dit : « le format CSV » n'est pas une norme. Son document de référence porte la mention « pour information » et écrit lui-même qu'il existe des différences considérables entre les implémentations. C'est pourquoi cet outil MESURE le séparateur au lieu de le supposer, et vous montre ce qu'il a trouvé.
VérifierLa preuve, pas à pasLa vérification par l'inspecteur réseau, expliquée geste par geste, captures à l'appui.
Le coinLe coin textes et donnéesCompter, comparer, mettre en forme, nettoyer. Les petits gestes qui font perdre une heure quand on ne les a pas sous la main.