> For the complete documentation index, see [llms.txt](https://altaisoft.gitbook.io/ysv/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://altaisoft.gitbook.io/ysv/language/input.md).

# input

Get value from input dataset

The simplest method to take a column from CSV is this:

{% tabs %}
{% tab title="date.yaml" %}

```yaml
version: 1
columns:
  date: "Transaction Date"
```

{% endtab %}

{% tab title="input.csv" %}

```
Transaction Date
06/05/2020
```

{% endtab %}

{% tab title="output.csv" %}

```
date
06/05/2020
```

{% endtab %}
{% endtabs %}

This is not extensible however: you cannot add more transformations beneath that string. More flexible, and recommended, is this:

```yaml
version: 1
columns:
  date:
    - input: "Transaction Date"
    # you can add more transformations down here :)
```

But sometimes you might have a number of slightly different CSV datasets where the same column is named differently. `ysv` supports that:

```yaml
version: 1
columns:
  date:
    - input:
      - "Transaction Date"
      - "Event Date"
      - "Date"
    # you can add more transformations down here :)
```

`ysv` will search for each of the names you specified in the headers of the input dataset. The first header found is going to be used.

Regardless of the form of `input` transformation, - if no headers match, the column will be empty.
