From rows to a YAML list
Each row becomes one item of a YAML list: a dash, then a key: value line for every column, with the header as the keys. The header name,age and the row Ana,31 become - name: Ana followed by age: 31. Columns keep their order.
Without a header row, switch off First row has the column names and the keys are called column1, column2 and so on. Choose A list under Write each row as to get a list of lists instead, with the column names as the first list. Empty cells and the exact words null and NULL become null when all types are detected, and an empty string or the word itself otherwise.
Types, and why YAML quoting matters
Every cell in a CSV is text. In YAML the text 31 is a number, true is a boolean, and in older readers no is false. So the converter decides one column at a time: a column becomes numbers only if every filled cell in it is a clean number, with no leading zero and at most 15 digits.
- A column with
1.10,2.0and3.1becomes the numbers 1.1, 2 and 3.1, because every cell is a clean number. If they are versions, choose Keep as text and they come out as"1.10","2.0"and"3.1". NOis quoted because older YAML readers take it for false. In the same columnPTandFRstay plain, as they are not ambiguous.02134and007stay text and are quoted, so a reader does not take them for numbers. ZIP codes and IDs keep their zeros.- Dates stay text and are quoted, as in
joined: "2001-12-14", because many YAML readers turn an unquoted date into a date object. - A column that mixes numbers and words stays text in every row, so a column never has two types.
Text that would confuse the YAML syntax is quoted too: a value that starts with -, # or @, or contains a colon followed by a space.
Nested YAML from flat headers
Name the columns by path and the converter builds the structure. The headers name,address.city,address.zip,tags.0,tags.1 and the row Ana,Lisbon,1000-001,design,remote become:
name: Anaaddress:withcity: Lisbonandzip: 1000-001indented under ittags:with- designand- remoteindented under it
Turn off Rebuild nested values from column names to keep each dotted header as one key, as in address.city: Lisbon. If the dot is part of your names, choose another separator under More options. Leave out empty cells drops a key instead of writing null. Headers that are whole numbers, such as years, are written in quotes ("2022": 1) so they stay keys.
Multi line cells and special characters
A quoted CSV cell can contain line breaks. In YAML it is written as a block, so notes: |- is followed by each line, indented. Long text is never folded onto several lines, and the converter takes care of quotes, colons and other characters that YAML treats as syntax.