# CSVFill

### D**escription**‌

The CSVFill function creates a Flow table from a string value containing CSV data.

The CSVFill function can be used to parse CSV data into a Flow table. In order to do this, the function needs a *prototype table*, which is an empty table specifying the columns expected in the CSV data. If not all columns are present in the CSV data, the function will fail.‌

### **Syntax**

‌The syntax for the ALL function is:

`CSVFill(prototypeTable, data, separator)`

#### ‌**Parameters**

prototypeTable - the empty table with the structure of the table which is to be created; table(column1, column2). If not all columns are present in the CSV data, the function will fail.‌

data - the csv file

separator - the separator used in the csv file

### **Example**

Given the following semicolon-separated CSV:

```fsharp
name;lastName;age
Bob;Smith;50
Alice;Smith;60
Per;Lagerqvist;40
```

...you can use the CsvFill function as such:

```fsharp
let prototype = table(name, lastName, age);
let result = CSVFill(prototype, csvData, ";");

// the 'result' variable will be a table containing the data from the CSV block
```
