- 4 minutes to read

Formula - csv

Easily extract values from any CSV structure using the Nodinite csv Formula plugin. This page shows how to extract data from delimited message Content, Context, or the output of other formulas.

🎯 Designed for business users and integrators — no developer required; you can even use AI to craft expressions.

  • ✅ Extract data from CSV or delimited text from any Payload or Context in any Log Event
  • Flexible parameters for delimiter, column selection, row skipping, and quote/comment characters
  • ✅ Transform and surface meaningful data in Nodinite Log Views, search filters, and self-service diagnostics
  • ✅ Combine with other Formula functions for powerful, layered expressions

What does the csv Formula do?

The csv(SkipRowsCount, Delimiter, ColumnIndex, Quote, Content) Formula function extracts values from delimited text, such as CSV files. You can specify which rows to skip, which delimiter to use, which column to extract, and which character marks comments or quoted fields.


How it works: Input ➜ csv ➜ Result

graph LR A["Input: CSV/delimited text"] --> B["csv(SkipRows, Delimiter, Column, Quote, Content)"] B --> C["Result: Extracted column values"]

Flow: The CSV content is parsed with specified parameters to extract values from the target column.


Examples

Example 1: Extracting a column from message body

Input

Message body is:

"face","suit","value"
"king","spades","13"
"queen","spades2","12"
#"jack","spades3","11"
"ten","spades4","10"

Formula Expression

csv(2, ',', 1, '#', body)

Result

spades2, spades4

Example 1


Example 2: Extracting a value from message context

Input

Message context contains a property Ids with CSV content:

"face","suit","value"
"king","spades","13"
"queen","spades2","12"
#"jack","spades3","666"
"ten","spades4","10"

Formula Expression

max(csv(1, ',', 2, '#', context('Ids')))

Result

13

Example 2


Example 3: Extracting from a JSON field

Input

Message body is:

{
  "name": "JSONFile",
  "description": "TestFile",
  "content": "\"face\",\"suit\",\"value\"\n\"jack\",\"spades3\",11\n\"ten\",\"spades4\",10\n\"nine\",\"spades5\",9\n\"eight\",\"spades6\",8\n\"seven\",\"spades7\",7"
}

Formula Expression

csv(4, ',', 1, '#', jsonpath('$.content', body))

Result

spades6, spades7

Example 3


Features

Important

The csv Formula extracts values from delimited text (CSV files), allowing you to parse structured data with flexible parameters. This function loads the entire message into RAM—use on small messages only.

  • Flexible Inputs: Extract from message body, Context, or the result of another Formula
  • Configurable Parsing: Specify delimiter, column index, rows to skip, and quote/comment characters
  • Composable: Combine with other Formula functions like max, jsonPath for advanced transformations
  • Self-Service: Let business users extract CSV data without developer intervention

Parameters:

  • SkipRowsCount: Number of rows to skip from the top (e.g., header rows)
  • Delimiter: Character separating columns (e.g., , or ;)
  • ColumnIndex: Zero-based column index to extract
  • Quote: Character marking comments or quotes (e.g., # or ")
  • Content: The CSV text to parse

How to use

To use the csv Formula in a Search Field Expression:

  1. Open your Nodinite Web Client
  2. Navigate to AdministrationSearch Fields
  3. Create or edit a Search Field
  4. Choose Formula as the expression type
  5. Enter one of the following Syntax patterns

Syntax

Extract from message body:

csv(SkipRowsCount, Delimiter, ColumnIndex, Quote, body)

Extract from message context:

csv(SkipRowsCount, Delimiter, ColumnIndex, Quote, context('PropertyName'))

Extract with nested formula:

csv(4, ',', 1, '#', jsonpath('$.content', body))

Example with specific parameters:

csv(2, ',', 1, '#', body)

Next step