# File Uploads

You can ingest **CSV** or **Excel** files into Sprinkle. Sprinkle will create a table in the warehouse for the uploaded file.

### Watch Video :tv:

{% embed url="<https://youtu.be/B6-NmCdM6zk>" %}
File Uploads: Explanation & Feature Walkthrough
{% endembed %}

## Step-by-Step Guide

### Step 1: Configure Files Datasource

To learn about Data sources, refer [here](/product/ingesting-your-data/pipelines.md).

* Navigate to Ingest -> File Uploads Tab -> Setup files
* Provide the name -> Click on Create.

<figure><img src="/files/Pf4T957y0db8VSNsfdoK" alt=""><figcaption></figcaption></figure>

### Step 2: Add File

* 'Add File' button
* Click the 'Browse' button or drag and drop your CSV file.

<figure><img src="/files/7qIwStvdeiqLJ4Wt3R5H" alt=""><figcaption></figcaption></figure>

### Step 3: Add details and upload

* Provide the **name** for this file.
* **Skip before header:** Specify the number of top rows to skip before the header line when reading CSV. Do not skip the column header itself; the next available row is used to extract column names.
* **Exclude columns:** List of columns to be excluded when reading the CSV.

{% hint style="success" %}
**Note**: *There are a few validation checks that Sprinkle does to ensure the quality of the data being ingested.*

:digit\_one: ***Empty Column Headers***: *No column header should be empty*. Use Skip before headers if you want to skip a few rows at the top. In that case, the next row available is used to extract column names.

:digit\_two: ***Invalid Column Headers***: *Remove special characters or white spaces*. Make sure each column name is unique and begins with an alphabet or underscore.

To guide you through the errors and fix them, in-place error markings are shown on the Preview table.
{% endhint %}

* **Preview**: Shows a preview of the table. You can change the headers and also change the variable type of the data in the columns.

<figure><img src="/files/NndpktiBTu3i9AilDwhB" alt=""><figcaption></figcaption></figure>

* Click **Proceed**.
* After successful ingestion, a table in the warehouse will be created with the name pattern as ds\_\<datasourcename>\_\<filename>.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sprinkledata.com/product/ingesting-your-data/file-uploads.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
