YamlBox

Convertisseurs de données · 5 minutes de lecture

CSV à JSON : d’un tableur aux données structurées

CSV ressemble au format le plus simple en informatique et se comporte comme l'un des plus délicats. Une conversion CSV en JSON est l'endroit où ces règles cachées font surface : une virgule à l'intérieur d'un champ entre guillemets, un délimiteur de point-virgule d'une feuille de calcul européenne, une colonne de nombres qui devraient rester du texte. Savoir ce que fait l'analyseur transforme un échec d'importation en un correctif de deux minutes.

Mis à jour

La ligne d'en-tête devient vos clés

La première ligne fournit les JSON noms de propriétés et chaque ligne suivante devient un objet. Cela signifie que l'hygiène des en-têtes est une conception de schéma : les espaces, les noms en double et la ponctuation dans les en-têtes produisent des clés que vous ne pouvez pas utiliser confortablement. Renommez en `snake_case` ou `camelCase` avant la conversion et confirmez qu'aucune colonne ne partage un nom — un en-tête en double est écrasé silencieusement dans la plupart des implémentations.

Tout dans CSV est une chaîne

CSV n'a aucun type, donc un convertisseur décide comment interpréter chaque colonne. Les nombres deviennent des nombres pour que vous puissiez faire de l'arithmétique ; `true`/`false` deviennent des booléens ; les champs vides deviennent `null` ou une chaîne vide selon votre choix. Le piège, ce sont les identifiants : les codes postaux, les numéros de téléphone, les numéros de facture et les chaînes de version comme `1.10` doivent rester des chaînes, sinon vous perdez les zéros non significatifs et la signification finale. Si une colonne semble numérique mais constitue un identifiant, conservez-la sous forme de texte.

Citations, virgules et nouvelles lignes

La RFC 4180 a résolu ce problème il y a plusieurs décennies : si un champ contient une virgule, une citation ou un saut de ligne, il est placé entre guillemets doubles et les guillemets internes sont doublés. Tout analyseur conforme (Papa Parse est celui fourni ici) gère les champs enveloppés avec des virgules intégrées et des cellules multilignes sans hésiter. Un analyseur qui divise naïvement en virgules produira des colonnes qui se décaleront dès qu'un champ d'adresse contient une virgule, ce qui est le bug classique « pourquoi mes données sont-elles décalées d'une ».

Les délimiteurs varient selon les paramètres régionaux : les feuilles de calcul de nombreux paramètres régionaux européens exportent des fichiers séparés par des points-virgules et TSV utilise des tabulations. Si chaque ligne se réduit à une seule longue clé, le délimiteur est erroné : choisissez un point-virgule ou une tabulation et réexécutez.

D’où viennent CSV fichiers (et ce qu’ils contiennent)

Les exportations à partir d'outils d'analyse, de systèmes CRM, de plateformes de facturation et de bases de données sont la source la plus courante et contiennent régulièrement les noms des clients, leurs e-mails et leurs chiffres d'affaires. La conversion locale maintient entièrement ces données hors du réseau. Le convertisseur YamlBox CSV en JSON analyse dans le navigateur, vous permet de choisir le délimiteur et la gestion du type, et continue de travailler avec le réseau désactivé.

Attentes en matière de dimensionnement

Un fichier CSV représente environ un objet JSON par ligne, le document converti est donc plus grand : les clés se répètent sur chaque ligne et une jolie impression ajoute une indentation en haut. Pour un fichier suffisamment volumineux pour mettre votre navigateur en pause, la conversion d'un tableau d'objets puis la réduction donnent le plus petit résultat pratique, et la conversion en JSON lignes (un objet par ligne, pas de tableau) est la bonne forme si un flux ou un pipeline de journaux est le prochain consommateur.

CSV à JSON — questions fréquemment posées

Pourquoi les nombres dans mon CSV apparaissent-ils sous forme de chaînes ?

CSV ne stocke aucun type, donc le convertisseur décide par colonne. Si une valeur semble numérique, elle est généralement convertie, mais les identifiants avec des zéros non significatifs ou des points finaux doivent rester des chaînes. Recherchez un paramètre d'inférence de type et conservez les colonnes d'identifiant sous forme de texte.

Puis-je convertir un fichier délimité par des points-virgules ?

Oui : définissez le délimiteur sur un point-virgule. De nombreuses exportations de feuilles de calcul européennes utilisent des points-virgules lorsque le séparateur décimal est une virgule, et un analyseur CSV attendant des virgules renverra sinon une colonne contenant la ligne entière.

Est-il sûr de convertir des CSV avec les données client dans le navigateur ?

C’est plus sûr que de le télécharger. Une conversion côté client ne transmet jamais le fichier, donc une exportation contenant des e-mails ou des chiffres de revenus reste sur votre ordinateur et l'outil continue de fonctionner hors ligne, ce qui est facile à vérifier en se déconnectant et en reconvertissant.

Outils mentionnés dans cet article

Parcourez la liste complète des 19 outils

Plus d'articles à lire

Tous les 19 messages →