---
title: Read CSV files
description: Read and parse CSV files into structured tabular data for downstream processing.
category: File Operations
tags: [csv, file, read, data, parsing, text]
---

# Read CSV files

## Description

The **Read CSV Files** activity reads and parses comma-separated value (CSV) files from either the workflow directory or a previous activity. It transforms flat-file data into structured tabular format for use in data processing workflows.

It supports flexible options such as custom delimiters, newline specifiers, and error handling to accommodate a variety of CSV formats generated from different systems or tools.

Use this activity to:

- Ingest data exported from external systems in CSV format
- Load tabular data for transformation, filtering, or aggregation
- Preprocess uploaded files in workflows

> **Use case**:
> A user uploads a set of sales reports in CSV format. The workflow uses this activity to read the files, process the sales data, and generate analytics or summaries.

## Input

| Type      | Description                                                                                         |
| --------- | --------------------------------------------------------------------------------------------------- |
| **Files** | CSV files must be provided by a previous file-based activity or stored in the workflow's directory. |

## Output

| Output Type | Format | Description                           |
| ----------- | ------ | ------------------------------------- |
| **Data**    | Table  | Parsed rows and columns from the CSV. |

| **Field Name**                        | **Description**                                                                                                                                                            |     |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- |
| **Input File Pattern**                | Specifies the naming pattern of CSV files to be read. Supports wildcards (e.g., `report_*.csv`) or exact filenames.                                                        |     |
| **Separator**                         | Choose the delimiter that separates fields in the CSV file. Options typically include:<br>• Comma (`,`) <br>• Tab (`\t`) <br>• Semicolon (`;`)                             |     |
| **Custom Delimiter**                  | _Optional._ Provide a custom delimiter character if the standard separators do not apply (e.g., \`                                                                         |
| **Has Header Record**                 | Indicates whether the first row of the CSV file contains column headers:<br>• **True** – First row is used as column headers<br>• **False** – All rows are treated as data |     |
| **New Line Specifier**                | Defines how new lines are represented in the file (e.g., `\n`, `\r\n`). Helps resolve parsing issues from different platforms.                                             |     |
| **Ignore Errors In File**             | If enabled, the activity will skip rows with errors (e.g., inconsistent columns) instead of failing the entire operation.                                                  |     |
| **Take Files From Previous Activity** | When enabled, the activity reads files generated or uploaded in the previous step. If disabled, it reads from the default workflow directory.                              |     |

## Sample Input

_Not Applicable_

## Sample Configuration

| Field                             | Value         |
| --------------------------------- | ------------- |
| Input File Pattern                | `sales_*.csv` |
| Separator                         | Comma         |
| Custom Delimiter                  | (blank)       |
| Has Header Record                 | True          |
| New Line Specifier                | `\n`          |
| Ignore Errors In File             | Enabled       |
| Take Files From Previous Activity | Enabled       |

## Sample Output

| OrderID | Customer | Amount | Status  |
| ------- | -------- | ------ | ------- |
| 1001    | John     | 200.00 | Paid    |
| 1002    | Alice    | 150.00 | Pending |
| 1003    | Mark     | 300.00 | Paid    |

> If a file has inconsistent row structures, those rows will be ignored if **Ignore Errors In File** is enabled.
