100 % local — vos données ne quittent jamais votre navigateur

CSV en YAML — une liste qui se lit

Transformez un tableau CSV en liste YAML de mappages. Chaque ligne devient un bloc lisible d’un coup d’œil, à déposer dans une config ou un jeu de test.

Instantané Privé Zéro cookie
Indentation
Délimiteur

Entrée CSV

Sortie YAML

Ce que fait cet outil

Chaque ligne du CSV devient un mappage dans une liste YAML, indexé par l’en-tête. Les valeurs sont typées comme pour le JSON : 30 est un nombre, true un booléen, et un zéro en tête garde la valeur en chaîne.

L’indentation se choisit au-dessus de l’éditeur.

Les valeurs que YAML encadre, et celles qu’il laisse nues

L’encadrement n’est pas décoratif : c’est ce qui empêche une valeur de changer de sens quand quelqu’un relit le fichier.

  • 3.0 est encadré, parce que nu il reviendrait en nombre 3 ;
  • le texte null est encadré, pour qu’il reste ce mot et ne devienne pas une absence de valeur ;
  • un champ vide est encadré en "", pour la même raison.

Deux valeurs restent nues, et il faut le savoir : yes et no. En YAML 1.2 — ce que produit cet outil — ce sont des chaînes ordinaires. En YAML 1.1 ce sont des booléens, et PyYAML les lit encore ainsi. Si votre sortie part vers un outil Python, encadrez ces colonnes dans le CSV au préalable.

Cellules multilignes

Un champ CSV peut contenir un saut de ligne, et YAML sait en garder un sans le perdre. Une telle cellule ressort en scalaire bloc introduit par |-, son contenu indenté sous la clé. Rien n’est aplati, rien n’est échappé.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Pourquoi 3.0 est-il entre guillemets et pas 30 ?
Parce que `3.0` écrit nu reviendrait en nombre 3 et perdrait son zéro final. Les guillemets le gardent tel qu’il était dans le CSV. `30` n’a pas cette ambiguïté et reste un nombre simple.
Ma colonne yes est devenue true en Python. Pourquoi ?
Parce que votre analyseur suit YAML 1.1, où `yes` et `no` nus sont des booléens. Cet outil produit du YAML 1.2, où ce sont des chaînes — les deux spécifications divergent, et la divergence n’apparaît qu’à la lecture. Encadrez ces colonnes dans le CSV si PyYAML doit lire la sortie.
Que devient une cellule contenant un saut de ligne ?
Elle devient un scalaire bloc, introduit par `|-` et indenté sous sa clé. Le saut de ligne est préservé exactement, ce qu’une forme sur une seule ligne ne pourrait pas garantir.

Convertisseurs associés