---
title: "File Sources"
canonical: "https://docs.vaultspeed.com/space/VPD/3011477649/File%20Sources"
format: markdown
---
When your source data comes from files, VaultSpeed can directly capture the metadata from these files when you upload them to the application

To upload your file go to the menu “Sources → <select a source with type=FILE> → Select Objects”.  On this screen you can click the “Upload File(s)” button.  Select the file(s) that you want to upload and click ‘Upload’.  This will read in the selected files and grab the necessary metadata from them.

Below is a list of supported file types and which structure they should have.

> Macro (toc)

### CSV

The file name will be the table name and the first line will be the column names.  The delimiter should be a semicolon; or a comma,

```
column1;column2;column3
```

### XML

#### Single Table

When there is a single table in the XML

```xml
<table_name>
<row>
<column_name>data</column_name>
<column_name>data</column_name>
<column_name>data</column_name>
</row>
</table_name>
```

#### Multiple Tables

When there are multiple tables in one XML file:

> 📝 In this case there always has to be a wrapper named "tables".

```xml
<tables>
<table_name>
<row>
<column_name>data</column_name>
<column_name>data</column_name>
<column_name>data</column_name>
</row>
</table_name>
<table_name>
<row>
<column_name>data</column_name>
<column_name>data</column_name>
<column_name>data</column_name>
</row>
</table_name>
</tables>
```

### XLSX

The table name will be the file name and the first row of the first worksheet will be the column names.

### JSON

#### Single Table

When the JSON is build out of "row" elements containing columns as keys + values (with the column names as keys), then it is read as a single table and the filename will be used as the table name.

```json
[ 
   {
        "row": {
            "column1": "data",
            "column2": "data",
            "column3": "data",
            "column4": "data",
            "column5": "data"
        },
        "row": {
            "column1": "data",
            "column2": "data",
            "column3": "data",
            "column4": "data",
            "column5": "data"
        },
        "row": {
            "column1": "data",
            "column2": "data",
            "column3": "data",
            "column4": "data",
            "column5": "data"
        },
        "row": {
            "column1": "data",
            "column2": "data",
            "column3": "data",
            "column4": "data",
            "column5": "data"
        }
    }
]
```

#### Multiple Tables

When the JSON consists of multiple tables, the first keys will be the tables and the keys below will be the columns.

```json
[
    {
        "tabel1": {
            "row": {
                "column1": "data",
                "column2": "data",
                "column3": "data",
                "column4": "data",
                "column5": "data"
            },
            "row": {
                "column1": "data",
                "column2": "data",
                "column3": "data",
                "column4": "data",
                "column5": "data"
            },
            "row": {
                "column1": "data",
                "column2": "data",
                "column3": "data",
                "column4": "data",
                "column5": "data"
            },
            "row": {
                "column1": "data",
                "column2": "data",
                "column3": "data",
                "column4": "data",
                "column5": "data"
            }
        },
        "tabel2": {
            "row": {
                "column1": "data",
                "column2": "data",
                "column3": "data",
                "column4": "data",
                "column5": "data"
            },
            "row": {
                "column1": "data",
                "column2": "data",
                "column3": "data",
                "column4": "data",
                "column5": "data"
            },
            "row": {
                "column1": "data",
                "column2": "data",
                "column3": "data",
                "column4": "data",
                "column5": "data"
            },
            "row": {
                "column1": "data",
                "column2": "data",
                "column3": "data",
                "column4": "data",
                "column5": "data"
            }
        }
    }
]
```