> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nx1cloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload a CSV file

> Upload a CSV file into NexusOne.

This tutorial walks you through how you can upload a CSV file into the NexusOne platform.

## Prerequisite

Appropriate permission: `nx1_ingest`, `nx1_monitor`, `nx1_s3_admin`, `airflow_user`, `superset_user`,
`spark_sql`, and `trino_admin`

## Download a CSV file

Use a [financial transactions dataset](https://www.kaggle.com/datasets/computingvictor/transactions-fraud-datasets?resource=download\&select=users_data.csv) from Kaggle containing user data.

## Upload it to the portal

1. Log in to NexusOne.
2. On the NexusOne homepage, navigate to **Ingest > File**.
3. In the File Details section, click **Upload File > Choose file**.

After choosing a file, several file options displays, which provides extra customization for the CSV file.

* **Header**: Use it to define if the first row is the column name. Defaults to `True`.
* **Infer Schema**: If NexusOne should guess the data type of each column. Defaults to `True`.
* **Delimeter**: To separate each field.
* **Quote character**: Protects the slicing of strings by a delimeter.
* **Date format**: Indicates the date format of the CSV file.
* **Timestamp format**: Indicates the timestamp format of the CSV file.

Leave these file options as defaults since the data has no special configurations needed.

## Add ingest details

Add the following information to the fields:

* **Name**: `csv`
* **Schema**: `csv_schema`
* **Table**: `csv_table`
* **Schedule**: `Run Once`
* **Mode**: `append`
* **Tags**: Don't add any tags

After adding these details, click **Ingest**. Wait for a few minutes until you see a success message appear.

## Monitor job

When you ingest the file, this creates an Airflow job. To monitor the status of the job,
use the following steps:

1. Click **View Jobs** or navigate to the NexusOne homepage and click **Monitor**.
2. Find your job name, `csv`, in the list, and watch its current status.
3. Wait for a few minutes and refresh your browser until the status changes to `Completed`.

## Visualize your dataset

Use the following steps to visualize your dataset:

1. On the NexusOne homepage, click **Discover** to launch Superset.
2. Hover your mouse over **SQL**, and then select **SQL Lab**.
3. Enter the following command in the query box:

```sql theme={null}
SELECT * FROM csv_schema.csv_table
```

<Card img="https://mintcdn.com/nexusone-4c77570d/5Yh2ioKPwZxqrNMD/images/tutorials/ingest/file/visualize-csv-dataset-v4-1-2.png?fit=max&auto=format&n=5Yh2ioKPwZxqrNMD&q=85&s=d68c1829a2088ea414088691b378caec" width="2056" height="926" data-path="images/tutorials/ingest/file/visualize-csv-dataset-v4-1-2.png">
  Visualize your dataset
</Card>

## Additional resources

* To get an overview of what file ingestion is, refer to [Data ingestion overview](/documentation/data-pipeline/overview/ingest).
* For general instructions about how to ingest a file in NexusOne, refer to [How to ingest a file](/documentation/data-pipeline/tasks/ingest/ingest-a-file).
* For more information about roles or permissions, refer to [Govern Overview](/documentation/govern/overview).
