YAML vers CSV
Ce convertit une séquence de mappages YAML en CSV conforme à la RFC 4180 directement dans votre navigateur. Les valeurs imbriquées sont aplaties en chemins de colonne, les champs sont mis entre guillemets uniquement lorsque c’est nécessaire, et les lignes se terminent par CRLF — exactement le fichier qu’un tableur s’attend à recevoir. Rien n’est envoyé.
YAML vers CSV en clair
YAML aime le imbriqué ; les tableurs adorent les lignes plates. Entre les deux se pose une question mécanique : comment les clés d’un mappage imbriqué deviennent-elles les en-têtes d’un tableau ? Ce convertit y répond comme le reste de l’écosystème — avec des chemins de colonne. Un enregistrement dont l’objet address contient un champ city produit une colonne address.city, ainsi aucune information n’est perdue et aucune clé n’entre en collision.
Le côté CSV est strictement RFC 4180 : un délimiteur par virgule, un échappement par guillemets doubles lorsqu’un champ contient une virgule, un guillemet ou un saut de ligne, et des fins de ligne CRLF. Les champs ne sont mis entre guillemets que lorsqu’ils le doivent, car chaque guillemet superflu est une chose de plus pour laquelle un script en aval doit être robuste. Le résultat s’ouvre directement dans Excel, Numbers, LibreOffice et Google Sheets.
Tout s’exécute dans cet onglet de navigateur. Le texte YAML que vous collez est analysé par un moteur intégré à la page, le CSV est construit à partir des enregistrements analysés, et aucun des deux ne contacte jamais un réseau — ouvrez DevTools, observez le panneau Network rester silencieux, et la promesse se vérifie d’elle-même.
Dans l’autre sens — transformer un export de tableur en configuration — utilise le même moteur à l’envers, et la convertir CSV en YAML page le gère en lisant la convention des chemins de colonne à l’envers.
Si vos données sources sont plutôt du JSON que du YAML, le dédié convertisseur JSON en CSV le couvre avec les mêmes règles d’aplatissement.
Comment la conversion fonctionne réellement
Le moteur analyse d’abord votre YAML en enregistrements, car les fichiers YAML qui se tabulent bien sont des séquences de mappages — une liste de premier niveau dont chaque élément a des clés. Les valeurs imbriquées de chaque enregistrement sont aplaties en chemins de colonne séparés par des points, l’union de ces chemins sur tous les enregistrements devient la ligne d’en-tête, et chaque enregistrement remplit les colonnes qu’il possède, laissant des cases vides là où il n’en a pas.
- Analyser : le texte YAML est lu comme une séquence de mappages. Un fichier dont le niveau supérieur est un seul mappage génère une erreur claire demandant une liste.
- Aplatir : les mappages et tableaux imbriqués deviennent des chemins de colonne — address.city, tags.0, tags.1.
- Union : la ligne d’en-tête est l’union ordonnée de tous les chemins des enregistrements, vue en premier d’abord, afin que les colonnes soient dans un ordre stable et prévisible.
- Émettre : chaque enregistrement est écrit comme une ligne terminée par CRLF, les champs étant mis entre guillemets selon la RFC 4180 uniquement lorsque le contenu l’exige.
À quoi ressemble la sortie
L’extrait ci-dessous est le couple exact que le bouton Charger l’exemple du convertisseur produit : deux enregistrements de personnes, l’un avec une adresse imbriquée et un tableau de tags. Observez ce qui arrive à chaque structure : l’objet address génère deux colonnes, le tableau tags est énuméré par index, et la virgule dans un champ note déclenche la mise en guillemets sur ce seul champ.
Cas limitatifs que ce convertit refuse plutôt que de corrompre
Un convertit honnête a des limites, et la pire chose qu’il puisse faire est de prétendre qu’il n’en a pas. Trois entrées sont rejetées avec un message spécifique au lieu d’être silencieusement remodelées, car chacune signifierait que la sortie vous mentirait :
- Un mappage de niveau supérieur au lieu d’une séquence — un seul objet de configuration n’est pas un tableau, et inventer un tableau d’une seule ligne cacherait l’erreur.
- Des éléments de séquence qui sont des scalaires ou des tableaux — une liste de chaînes de caractères ne peut pas être tabulée en colonnes nommées.
- Des clés homogènes qui diffèrent considérablement entre les enregistrements — l’union est toujours convertie, mais l’aperçu vous montre le résultat irrégulier afin que vous puissiez décider avant de l’enregistrer.
Questions fréquentes
La conversion de YAML en CSV envoie-elle mon fichier quelque part ?
Non. L’analyse et la génération du CSV s’exécutent tous deux dans cet onglet de navigateur avec du JavaScript chargé une seule fois lorsque la page s’est ouverte. La page n’a pas de route API pour envoyer des données, et la Content-Security-Policy interdit à la page de se connecter ailleurs. Vous pouvez vérifier les deux affirmations dans DevTools : le panneau Network ne montre aucune requête lorsque vous convertissez.
Les valeurs YAML imbriquées sont-elles gérées dans la sortie CSV ?
Les mappages imbriqués sont aplatis en chemins de colonne séparés par des points — un objet address avec un champ city devient une colonne address.city. Les tableaux sont aplatis en chemins indexés comme tags.0 et tags.1. Aucune donnée n’est rejetée : chaque valeur feuille du YAML se retrouve dans exactement une cellule.
Quelle syntaxe YAML l’analyseur accepte-t-il ?
Le cœur du quotidien : les séquences et mappages, les scalaires simples et entre guillemets, les commentaires, les booléens, les entiers, les flottants, null, et les scalaires de bloc. Les directives, ancres et aliases, et les clés de fusion sont en dehors du ensemble pris en charge par le convertit et sont rejetés avec une erreur nommée plutôt qu’une estimation approximative — le site documente exactement ce sous-ensemble afin qu’un échec ne soit jamais une surprise.
Pourquoi mes lignes se terminent-elles par CRLF, puis-je le changer ?
La RFC 4180 spécifie CRLF (\r\n) comme terminateur de ligne, et c’est ce que le convertit émet par défaut car c’est ce que les logiciels de tableur les plus compatibles attendent. Les outils qui veulent un LF seul acceptent généralement CRLF de toute façon ; si votre pipeline est strict à ce sujet, convertissez d’abord et faites passer la sortie dans une étape de normalisation de sauts de ligne ensuite.
Y a-t-il une limite de taille de fichier ou de nombre de lignes ?
La limite est la mémoire de l’onglet de navigateur, pas un plafond d’envoi. Le moteur analyse sur le thread principal et refuse les documents de plus de 8 MB avec un message clair plutôt que de geler la page — la même limite documentée que chaque autre outil à thread principal sur ce site. Pour les exports de configuration typiques, cela représente des dizaines de milliers de lignes.
Comment ouvrir le CSV dans Excel avec le bon encodage ?
Le téléchargement est en UTF-8 sans marqueur d’ordre des octets. Excel moderne gère cela correctement via Données → Depuis du texte/CSV ; les versions plus anciennes supposent parfois une page de codes héritée et corrompent les caractères non ASCII. Si vous voyez des mojibake, utilisez la boîte de dialogue d’importation d’Excel, choisissez UTF-8 comme source, et les données s’affichent correctement.
Quels outils liés devriez-vous utiliser ensuite ?
- CSV vers YAMLConvertisseur qui fonctionne dans votre navigateurOuvrir
- Convertir JSON en CSVTransforme des enregistrements en feuille de calcul, imbrications comprisesOuvrir
- Formater du JSONIndente, trie les clés et supprime les commentairesOuvrir
- TOML vers JSONConvertisseur qui fonctionne dans votre navigateurOuvrir
- Valider du JSONVérifie la syntaxe avec ligne et colonne exactes, puis répareOuvrir
- Convertir CSV en JSONLit un export de feuille de calcul, guillemets comprisOuvrir