Direct naar de tool
ViewCSV
Niets wordt geüpload

CSV omzetten naar YAML

orders.csv· VOORBEELDGEGEVENS15 rijen · 8 kolommen
Waardetypen
Tekst die op een getal, true/false of een datum lijkt, krijgt aanhalingstekens, zodat hij bij inlezen dezelfde tekst blijft.
- order_id: "001041"
  customer: Julia Jansen
  city: Den Haag
  product: Monitor 27"
  quantity: "7"
  unit_price: "19.63"
  order_date: "2026-01-16"
  status: refunded
- order_id: "001042"
  customer: Finn Jansen
  city: Groningen
  product: Coffee beans 1kg
  quantity: "4"
  unit_price: "61.32"
  order_date: "2026-02-07"
  status: paid
- order_id: "001043"
  customer: Noah de Boer
  city: Utrecht
  product: Monitor 27"
  quantity: "7"
  unit_price: "5.83"
  order_date: "2026-03-18"
  status: paid
- order_id: "001044"
  customer: Emma Meijer
  city: Amsterdam
  product: Chair, ergonomic
  quantity: "3"
  unit_price: "74.88"
  order_date: "2026-04-22"
  status: refunded
- order_id: "001045"
  customer: Julia Janssen
  city: Utrecht
  product: Notebook A5
  quantity: "5"
  unit_price: null
  order_date: "2026-05-02"
  status: shipped
- order_id: "001046"
  customer: Julia Bakker
  city: Gent
  product: Chair, ergonomic
  quantity: "8"
  unit_price: "113.31"
  order_date: "2026-06-17"
  status: shipped
- order_id: "001047"
  customer: " Daan van Dijk "
  city: Den Haag
  product: USB-C cable
  quantity: "1"
  unit_price: "48.13"
  order_date: "2026-07-06"
  status: pending
- order_id: "001048"
  customer: Julia van den Berg
  city: Groningen
  product: Notebook A5
  quantity: "1"
  unit_price: "73.68"
  order_date: "2026-08-07"
  status: pending
- order_id: "001049"
  customer: Julia van Dijk
  city: Eindhoven
  product: Chair, ergonomic
  quantity: "3"
  unit_price: "102.72"
  order_date: "2026-09-01"
  status: shipped
- order_id: "001050"
  customer: Finn de Jong
  city: Antwerpen
  product: Monitor 27"
  quantity: "3"
  unit_price: "137.32"
  order_date: "2026-01-04"
  status: pending
- order_id: "001051"
  customer: Tess Janssen
  city: Den Haag
  product: Notebook A5
  quantity: "9"
  unit_price: "125.22"
  order_date: "2026-02-12"
  status: refunded
- order_id: "001052"
  customer: Julia de Jong
  city: Groningen
  product: Desk lamp
  quantity: "5"
  unit_price: "62.89"
  order_date: "2026-03-04"
  status: shipped
- order_id: "001053"
  customer: Zoë Meijer
  city: Rotterdam
  product: Notebook A5
  quantity: "1"
  unit_price: "127.86"
  order_date: "2026-04-09"
  status: pending
- order_id: "001054"
  customer: Sophie Visser
  city: Antwerpen
  product: Chair, ergonomic
  quantity: "2"
  unit_price: "99.73"
  order_date: "2026-05-13"
  status: pending
- order_id: "001043"
  customer: Noah de Boer
  city: Utrecht
  product: Monitor 27"
  quantity: "7"
  unit_price: "5.83"
  order_date: "2026-03-18"
  status: paid

15 rijen · 1 bestand

Open of plak een CSV-bestand en elke rij wordt één item in een YAML-lijst, met de kolomnamen als sleutels. Standaard blijft elke waarde tekst, en waarden die een YAML-parser anders zou interpreteren, zoals NO, yes, 0150, 2024-03-01 of null, krijgen aanhalingstekens, zodat ze precies zo terugkomen als ze zijn geschreven. Het bestand wordt in je browser omgezet en nooit geüpload.

Zo zet je CSV om naar YAML

  1. Kies Bestand openen, sleep een .csv-, .tsv- of .txt-bestand naar de tool, of kies Plakken. Zien de sleutels er niet goed uit, controleer dan het scheidingsteken en de codering onder Importinstellingen.
  2. Kies de Waardetypen en hoe Lege cellen worden geschreven. Het tabblad YAML toont precies de tekst die in de download komt.
  3. Kies de Inspringing en daarna Kopiëren of ‘YAML downloaden’.

Het resultaat is een reeks op het hoogste niveau (items in de vorm - key: value): de vorm die wordt gebruikt voor fixtures, seeddata en databestanden van statische sites. Heb je liever JSON, dan heeft CSV naar JSON dezelfde opties voor typen.

Wat elke optie doet

Alle waarden als tekst bewarenDe standaard. Elke waarde is een YAML-string; aanhalingstekens komen er alleen bij waar een kale scalar als iets anders zou worden gelezen.
Getallen en true/false herkennenEen kolom wordt alleen YAML-getallen als elke niet-lege waarde een gewoon getal is zonder voorloopnullen en met maximaal 15 significante cijfers. Kolommen met true/false (in welke schrijfwijze ook) worden booleans. yes/no en datums blijven strings tussen aanhalingstekens. Getallen worden in canonieke vorm geschreven, dus 1.50 wordt 1.5.
Lege cellennull (de standaard) schrijft key: null; ‘Lege tekst ""’ schrijft key: ""; Sleutel weglaten laat die sleutel weg uit de rij.
Inspringing2 spaties (standaard) of 4 spaties voor de sleutels onder elk lijstitem.

Welke dubbelzinnige waarden aanhalingstekens krijgen

Het resultaat wordt zo geschreven dat het hetzelfde terugleest in YAML 1.2-parsers én in oudere YAML 1.1-parsers zoals PyYAML, die meer woorden als boolean en getal zien.

  • Landcodes en antwoorden: NO, yes, off, y en on krijgen aanhalingstekens, zodat de landcode van Noorwegen niet als false wordt geladen. Dat geldt ook voor sleutels ("on": x).
  • Voorloopnullen: 0150 en 08001 krijgen aanhalingstekens. Zonder aanhalingstekens leest YAML 1.1 ze als octaal of decimaal getal en valt de nul weg.
  • Datums en getallen in de tekstmodus: 2019-04-01 en 12 krijgen aanhalingstekens, zodat ze niet als tijdstempel of geheel getal worden geladen.
  • Tekst die op null lijkt: een cel met null of ~ krijgt aanhalingstekens, zodat het de tekst blijft die je hebt geschreven en niet wordt verward met een lege cel.
  • Regeleinden binnen een waarde worden een letterlijk blok |-, en : of # binnen tekst krijgt aanhalingstekens. Lange regels worden nooit afgebroken.
  • Kolomnamen worden precies zo als sleutels gebruikt, inclusief spaties en niet-Latijnse schriften. Een lege kolomnaam wordt Column 3 en een dubbele name (2).

Problemen oplossen

  • Een kolom met getallen houdt aanhalingstekens, ook met ‘Getallen en true/false herkennen’. Minstens één waarde is geen gewoon getal, bijvoorbeeld 1,5, 12 kg of 007. Zoek hem op in de CSV-viewer.
  • Een kolom met yes/no is geen boolean geworden. Alleen true en false worden omgezet, omdat yes, no en on alleen in YAML 1.1 booleans zijn. Heb je booleans nodig, vervang de waarden dan eerst in de CSV met de CSV-editor.
  • Sleutels bevatten vreemde tekens zoals é. Het bestand is geen UTF-8. Kies de codering onder Importinstellingen.
  • Alles staat onder één sleutel. Het scheidingsteken is verkeerd geraden; stel het in onder Importinstellingen.

Grenzen en privacy

Bestanden tot 25 MB, 100.000 rijen of 2 miljoen cellen openen met een live voorbeeld van de eerste 200 rijen. Grotere bestanden worden in delen omgezet: het bestand wordt twee keer in stukken gelezen (eerst om de kolommen en hun typen te meten, dan om te schrijven), een melding zegt dat de download het hele bestand bevat, en Kopiëren wordt niet aangeboden. Eén uitvoerbestand is maximaal 4 GB.

Het omzetten gebeurt in een achtergrondproces in dit tabblad, zodat de pagina blijft reageren; met Annuleren stop je het. Het CSV-bestand wordt nooit naar een server gestuurd.

Voorbeeld

Een klantenlijst met landcodes, postcodes met voorloopnullen, ja/nee-vlaggen, datums en lege cellen, omgezet met de standaardinstellingen (alles tekst, lege cellen als null). Met Getallen en true/false herkennen verandert alleen orders, in 12, 3 en 7.

CSV
country,code,postcode,vat_registered,since,orders
Norway,NO,0150,yes,2019-04-01,12
Spain,ES,08001,no,2021-11-15,3
United States,US,02134,,,7
YAML
- country: Norway
  code: "NO"
  postcode: "0150"
  vat_registered: "yes"
  since: "2019-04-01"
  orders: "12"
- country: Spain
  code: ES
  postcode: "08001"
  vat_registered: "no"
  since: "2021-11-15"
  orders: "3"
- country: United States
  code: US
  postcode: "02134"
  vat_registered: null
  since: null
  orders: "7"

Vragen en antwoorden

Waarom staat `NO` tussen aanhalingstekens?

In YAML 1.1 betekenen NO, no, off en n zonder aanhalingstekens false. Met aanhalingstekens blijft een Noorse landcode, of elk antwoord dat als no is geschreven, in elke parser tekst.

Kan ik één mapping krijgen met een id als sleutel in plaats van een lijst?

Nee. Elke CSV-rij wordt geschreven als één lijstitem, in de volgorde van het bestand. Uitvoer met sleutels is hier niet beschikbaar.

Is het resultaat geldige YAML 1.2?

Ja. De extra aanhalingstekens die voor YAML 1.1 nodig zijn, zijn ook geldige YAML 1.2; ze maken alleen expliciet dat waarden die al strings waren strings zijn.

Standaarden en bronnen