araç köşesi

CSV en YAML

Transformez un tableau CSV en liste YAML ; chaque ligne devient un enregistrement, chaque en-tête une clé, et 0612 garde son zéro

Vos données restent chez vous. La conversion se fait dans le navigateur ; rien n'est envoyé à un serveur.

Comment ça marche

On ouvre souvent cet outil pour passer un tableau dans un fichier de configuration : une liste de serveurs, des données de test, des clés de traduction ou un inventaire Ansible tenus dans Excel, alors que le programme attend du YAML. Enregistrez le tableau en CSV, ouvrez le fichier dans le Bloc-notes et collez son contenu dans le panneau de gauche ; le YAML apparaît tout de suite à droite. La première ligne sert d'en-tête et chaque en-tête devient une clé : l'en-tête « nom;fonction;port » suivi de 3 lignes donne une liste de trois éléments, comme « - nom: web-1 » avec en dessous « fonction: site public » et « port: 8080 ». Le point-virgule d'Excel en français est reconnu d'après les premières lignes, et « cache; redis » entre guillemets reste une seule cellule. Avec le réglage « Reconnus », 8080 est écrit comme nombre, true et false comme booléens. Un numéro qui commence par 0 comme 0612, une valeur comme 1,250 (1,25 en écriture française, mille deux cent cinquante en écriture anglaise) et un identifiant de plus de 15 chiffres restent du texte, entre guillemets doubles, pour que le programme qui lit le YAML ne les change pas en nombres. Un en-tête vide devient « colonne3 », un en-tête répété « nom_2 » ; la ligne de résultat dit ce qui a changé. Copiez le résultat ou téléchargez-le sous le nom donnees.yaml.

Cet outil est aussi connu sous le nom de convertir csv en yaml, csv en yaml, csv to yaml, convertisseur csv yaml, csv vers yml.

Qu'est-ce que YAML ?

Le YAML est un format texte qui écrit les données avec des retraits et des deux-points : « port: 8080 » est une clé et sa valeur, un « - » en début de ligne est un élément de liste, et l'imbrication se fait seulement par des espaces (la tabulation est interdite). Les fichiers Docker Compose, Kubernetes, GitHub Actions et Ansible sont en YAML. Comme le lecteur devine le type d'une valeur sans guillemets, le choix des guillemets compte pour des données venues d'un tableau ; cet outil met entre guillemets tout texte qui pourrait être mal deviné.

Qu'est-ce que CSV ?

Le CSV est un tableau en texte brut : chaque ligne est un enregistrement, et un séparateur découpe les champs ; Excel, Google Sheets et la plupart des tableaux de bord l'utilisent pour l'export. Le séparateur dépend de la langue : Excel en français utilise le point-virgule, parce que la virgule y sert aux décimales, Excel en anglais la virgule. Une cellule qui contient le séparateur est mise entre guillemets. Le CSV n'a pas de types : chaque cellule est du texte, et c'est le programme lecteur qui décide.

Quelle est la différence entre CSV et YAML ?

Le CSV est un tableau plat : toutes les lignes ont les mêmes colonnes, on ne peut y écrire ni imbrication ni liste, et une cellule n'a pas de type. Le YAML est un arbre : un enregistrement peut contenir un autre enregistrement, une liste ou un texte sur plusieurs lignes, et nombre, booléen et texte sont des types distincts. Passer du CSV au YAML oblige donc à décider du type de chaque valeur ; dans l'autre sens, l'imbrication est aplatie en noms de colonnes comme adresse.ville. Pour un tableau que des personnes modifient, le CSV convient ; pour des réglages lus par un programme, le YAML.

Pourquoi certaines valeurs sortent entre guillemets

Le YAML devine le type d'une valeur écrite sans guillemets. « port: 8080 » est lu comme un nombre, « actif: true » comme un booléen. Mais « code: 0612 » seul pourrait être lu comme un nombre octal ou comme 612, « pays: NO » (Norvège) devient false dans les anciens lecteurs YAML 1.1, et « date: 2026-09-27 » devient un objet date. Quand l'outil garde une valeur en texte et que cette valeur ressemble à un nombre, à une date ou à un mot oui/non, il l'écrit entre guillemets doubles. Le fichier donne alors la même valeur avec PyYAML, Ruby ou Go.

La détection des nombres est volontairement étroite : 34, -3, 12.5 et 1,25 n'ont qu'un sens et deviennent des nombres. 1,250 vaut 1,25 en français mais 1250 en anglais ; la langue du fichier n'est pas connue, la valeur reste donc du texte. Une valeur qui commence par zéro, comme 007 ou 0612, reste aussi du texte : ce zéro est une information et disparaîtrait dans un nombre.

  • 8080 → port: 8080 (nombre)
  • true / FALSE → true / false (booléen)
  • 0612 → "0612" (le zéro initial est gardé)
  • 1,250 → "1,250" (1,25 ou 1250 ? impossible à savoir)
  • cellule vide → "" (texte vide, pas null)

Quel réglage choisir

Si le résultat va dans la configuration d'un programme (Docker Compose, Kubernetes, Ansible, fichier de réglages d'une application), gardez « Reconnus » : un numéro de port ou un interrupteur actif/inactif doit être un vrai nombre ou un vrai booléen, sinon le programme peut refuser le texte "8080". Pour un fichier de traduction, une liste de références produit ou toute donnée qui doit rester mot pour mot, choisissez « Tout en texte » : aucune valeur n'est interprétée, et celles qui ressemblent à un nombre sont mises entre guillemets.

Ne choisissez le séparateur à la main que si la détection se trompe. Si la ligne de résultat affiche moins de champs que prévu (1 champ pour un tableau de 5 colonnes, par exemple), le fichier utilise sans doute le point-virgule et un autre signe revient plus souvent dans les premières lignes. Pour le chemin inverse, l'outil YAML en CSV reprend cette liste avec les mêmes colonnes ; seule une décimale à virgule comme 1,25 revient écrite 1.25, puisqu'elle est devenue un nombre. Avec « Tout en texte », chaque cellule revient identique.

Questions fréquentes

Comment convertir un fichier CSV en YAML ?

Ouvrez le fichier CSV dans le Bloc-notes, TextEdit ou un autre éditeur de texte, copiez son contenu et collez-le dans le panneau de gauche de cette page. La première ligne sert d'en-tête : chaque ligne de données devient un élément de liste qui commence par « - », chaque en-tête une clé de cet élément. Copiez le résultat à droite ou téléchargez-le en fichier .yaml.

Pourquoi le numéro 0612 est-il écrit entre guillemets ?

Sans guillemets, le programme qui lit le YAML pourrait le prendre pour un nombre et supprimer le zéro initial. L'outil sait que cette valeur est du texte et l'écrit entre guillemets doubles ; quel que soit le lecteur, elle reste 0612. La même règle vaut pour une valeur ambiguë comme 1,250, pour les longs identifiants et pour les mots qui ressemblent à oui/non, comme NO, on ou yes.

Tout mon CSV exporté d'Excel tombe dans un seul champ, pourquoi ?

Excel en français sépare les colonnes d'un CSV par des points-virgules. L'outil trouve le séparateur d'après les premières lignes ; si vous voyez quand même un seul champ, réglez « Séparateur de colonnes » sur « Point-virgule — Excel en français ». Le réglage est bon quand le nombre de champs de la ligne de résultat égale le nombre de colonnes de votre tableau.

Mes données sont-elles envoyées à un serveur ?

Non. La lecture du CSV et l'écriture du YAML se font dans votre navigateur ; même si vous collez des adresses de serveurs, des mots de passe ou une liste de clients, le texte ne quitte pas cette page et n'est enregistré nulle part.