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

# Parabola's CSV parser

> Pull data from CSV, TSV, and semicolon-delimited files into a Parabola flow, or generate a CSV at the end of a flow for download or email delivery.

CSV files are the most common way operations teams move tabular data between systems. Parabola has two steps for working with them: **Pull from CSV file** to pull a CSV into your flow, and **Generate CSV file** to export a CSV at the end of a flow. Both steps handle TSV and semicolon-delimited variants too.

## Pull from CSV file

The **Pull from CSV file** step pulls tabular data from a CSV, TSV, or semicolon-delimited file you upload from your computer. Drop the file directly onto the canvas, or open the step and click "Click to upload a file."

### Configuration

Once a file is uploaded, the Results tab shows your data and two settings appear on the left: **File** and **Delimiter**. Click **File** to swap in a different file at any time. Parabola defaults to a comma delimiter, but you can change it to tab (`\t`) or semicolon (`;`) from the dropdown.

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/yElMlrQLzUnRnyYT/images/integration/image-1.png?fit=max&auto=format&n=yElMlrQLzUnRnyYT&q=85&s=7ab10e61a3bb322754e0215ea9736184" alt="Pull from CSV file step showing an uploaded file in the Results tab" width="710" height="858" data-path="images/integration/image-1.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/m7zZQSYx-unTbpCh/images/integration/image-2.png?fit=max&auto=format&n=m7zZQSYx-unTbpCh&q=85&s=5664f21c36463ea4c99ecdcbf16992ca" alt="Delimiter dropdown with comma, tab, and semicolon options" width="1612" height="1244" data-path="images/integration/image-2.png" />
</Frame>

In **Advanced Settings**, you can skip a number of rows or columns when importing (rows skip top-down, columns skip left-to-right). You can also set a **Quote Character** to keep cell values that contain commas from breaking the CSV structure.

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/NFrYlUkygjDj-0XN/images/integration/image-3.png?fit=max&auto=format&n=NFrYlUkygjDj-0XN&q=85&s=3d506f1840444c462bfe29324bc30743" alt="Advanced settings panel showing skip rows, skip columns, and quote character options" width="698" height="1406" data-path="images/integration/image-3.png" />
</Frame>

### Helpful tips

* **Files don't auto-update.** Parabola can't pull updates from your computer automatically. If the original file changes, you need to re-upload it. To pull live updates on each run, use a step like Pull from SharePoint, OneDrive, or Google Drive instead.
* **Formulas and formatting are stripped.** On upload, formulas are converted to their values and any formatting is dropped.
* **Storage and security.** Uploaded files are stored in an Amazon S3 bucket so the data is still loaded the next time you open the flow. All connections use SSL and are encrypted.

## Generate CSV file

The **Generate CSV file** step exports the data flowing into it as a CSV at the end of a flow run. Once the flow runs, the file is available in the flow's Run History and can optionally be emailed as a download link to the flow owner.

### Configuration

Connect any step to **Generate CSV file** and the step shows a preview of the data that will be exported.

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/8S6AmL5NnQon1-Rr/images/integration/image-4.png?fit=max&auto=format&n=8S6AmL5NnQon1-Rr&q=85&s=2f600b082e28859c39ab8f399aa17a1e" alt="Generate CSV file step showing a preview of the data to export" width="2444" height="1406" data-path="images/integration/image-4.png" />
</Frame>

The generated file's name matches the step's title. Double-click the step title to rename it.

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/8S6AmL5NnQon1-Rr/images/integration/image-5.png?fit=max&auto=format&n=8S6AmL5NnQon1-Rr&q=85&s=b2e775bd4459615f0f2cf51bacdf473e" alt="Renaming the Generate CSV file step to set the output file name" width="686" height="714" data-path="images/integration/image-5.png" />
</Frame>

After publishing and running your flow, download the file from the **Run History** panel. Past runs of this step are kept there too. You can optionally email a download link to the flow owner — note that the link expires after 24 hours.

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/ax03C-lTVjtzT6TL/images/integration/image-6.png?fit=max&auto=format&n=ax03C-lTVjtzT6TL&q=85&s=8ee8ab4d7266e1194f857cc66b80d878" alt="Run History panel with download links for past CSV exports" width="622" height="552" data-path="images/integration/image-6.png" />
</Frame>

### Helpful tips

* **Zero-row runs do nothing.** If the input has no rows, no file is generated and no email is sent.
* **One input per step.** Each Generate CSV file step accepts a single input. To export multiple branches, add a separate Generate CSV file step for each one — or use **Generate Excel file**, which accepts multiple inputs and writes each to its own tab.
* **Files are stored in S3.** Generated files are saved in an Amazon S3 bucket so they reload the next time you open the flow. Connections use SSL and are encrypted.

## Related steps

* [Generate Excel file](/product/integration/excel-file) — for multi-tab exports or when recipients prefer XLSX
* [Email a file attachment](/product/integration/email-attachment) — to email a CSV directly to recipients
* [Send to Google Drive](/product/integration/google-drive) — to drop the file into a shared folder
* [Send to FTP](/product/integration/ftp) — for files that need to land on a partner's SFTP server
* [Filter rows](/product/transform/filter-rows) — to trim the dataset before export
* [Select columns](/product/transform/select-columns) — to control which fields end up in the CSV
