--- title: "Creating a CSV Data Structure" slug: "creating-a-csv-data-structure" description: "Learn how Data Structures can be created from CSV data and can be deserialized and serialized using pre-built Flow steps. " tags: ["csv", "Custom Data Types"] updated: 2026-07-01T18:11:20Z published: 2026-07-01T18:11:20Z canonical: "documentation.decisions.com/creating-a-csv-data-structure" --- > ## Documentation Index > Fetch the complete documentation index at: https://documentation.decisions.com/llms.txt > Use this file to discover all available pages before exploring further. # Creating a CSV Data Structure ## Overview | Data Structure Quick Summary | | --- | | Complexity? | Performance Impact? | Saves to Database? | Configuration Folder? | Entity Framework? | Folder Behavior? | Process Tracking? | | Low | Low | Yes | No | No | No | No | Data Structures can be created from CSV data and can be deserialized and serialized using pre-built Flow steps. Exporting CSV Data Structures [Database Stored]CSV Data Structures [Database Stored] are saved to the database while CSV Data Structures are saved within Decisions as a Data Structure similar to Flow Structures. When exporting a CSV Data Structure [Database Stored], it does not transfer with data, only the structure itself exports. Data must be first exported with Flow logic or by the **Import Data From CSV** action. ## Example 1. In a Designer Project, select the CREATE DATATYPES/INTEGRATIONS button on the top action bar. Select **XML/JSON/CSV** and select **Create Types from CSV**.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1782929433162.png) 2. Enter a name in the **CSV Structure Name** field. The **Namespace** will automatically be populated. 3. Select the **First Row Is Field Names** checkbox this is typically enabled since most CSV imports use header field names in the first row. 4. Use the **Separator** dropdown to indicate what kind of separator is used in the CSV. 5. In the **CSV Structure** field, enter "FName,LName,Email" as header field names separated by a comma. After the field names are defined, the CSV data can be pasted below them. Click CREATE. | Setting Name | Description | | --- | --- | | Read From File | Creates the CSV data structure based on uploaded CSV file | | First Row Is Field Names | Reads the first row of the uploaded CSV file as Data Structure column names | | Ignore Empty Rows | Ignores empty rows found in the CSV file | | Separator | Prompts specification of separator for parsing through data | | Create Database Table For Type | Stores the CSV type in a database table | 6. The **Edit Defined Data Structure** window will appear and display the header fields' names pre-populated into the data structure configuration. Click SAVE to create the Data Structure.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1782929458007.png) ## CSV Data Structure Steps After a CSV Data Structure is created, the **Deserialize From CSV** and **Serialize To CSV** steps will be available in the **Toolbox** panel by navigating to **USER DEFINED TYPES > CSV STRUCTURES > [NAME OF CSV STRUTCTURE]**. ### Deserialize From CSV The Deserialize From CSV step converts the data structure from a single serialized string into a more human-readable output with columns and values. | Setting Name | Description | | --- | --- | | File Type | Defines the file type of the input file (CSV, Excel, AutoSelect) | | Worksheet Index (displays if Excel file type is selected) | Defines the starting point of the data | | Separator | Defines the character separator in the input file for each data field | | Skip First Row | Skips the first row in the input file | | Ignore Empty Rows | Empty rows will be ignored | | Input File | Defines the input file | ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1779816426216.png) ### Serialize To CSV The Serialize To CSV step takes in the CSV data and serializes it into one string. | Setting Name | Description | | --- | --- | | File Type | Defines the file type of the output file (CSV, Excel, AutoSelect) | | Separator | Defines the character separator in the input file for each data field | | Include Field Names | Includes the defined field names in the output string | ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1779816477357.png)