> ## 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.

# How can I split a large file with many rows into smaller CSV files?

> Users with large datasets (e.g. 100,000+ rows) may want to split a single file into smaller CSVs, often to meet system limits or simplify processing. While Parabola doesn't have a built-in 'split by row count' feature, it's possible to achieve the same outcome using row numbers and batching logic.

Parabola allows you to assign a batch number to each row using the **Add row numbers** step, and then filter and export those batches individually.

### **Basic Setup (manual splitting)**

**Steps:**

<Steps>
  <Step title="Import your file">
    * Use the **Pull from Excel file** or **Pull from CSV file** step to upload your dataset.
  </Step>

  <Step title="Assign batch numbers">
    * Add an **Add row numbers** step.
    * Set it to repeat each number 20,000 times.
    * This will tag rows 1–20,000 with 1, 20,001–40,000 with 2, and so on.
  </Step>

  <Step title="Filter and export each batch manually">
    * Add a **Filter rows** step for each batch (e.g., where "Row Number" = 1).
    * Follow it with a **Generate CSV file** step to export that batch.
    * Repeat for each batch needed.
  </Step>
</Steps>

Parabola can only export one CSV file per **Generate CSV file** step. Each batch needs its own export step.

### **Advanced Setup (automated batch export)**

To automate this over time, especially for files received regularly:

**Steps:**

<Steps>
  <Step>
    Use a Parabola table to store the last processed batch number.
  </Step>

  <Step>
    In each run:

    * Pull the large file and assign batch numbers as above.
    * Use a **Find overlap** step to match rows with the next batch number.
    * Export the batch using a **Generate CSV file** step.
    * Update the batch tracker in the Parabola table to increment the number.
  </Step>

  <Step>
    Repeat runs until all batches are processed.
  </Step>
</Steps>

This approach simulates a loop without requiring manual edits every time the file changes.
