merge
Merges several columns into a single column.
Reverse operation to split
merge { columns }
    [.notNull()]
    .by(delimeter) | .by { merger } 
    [.into(column) | .intoList() ]
merger: (DataRow).List<T> -> Any
Related operations: Split / merge columns
See column selectors for how to select the columns for this operation.
// Merge two columns into one column "fullName"
df.merge { name.firstName and name.lastName }.by(" ").into("fullName")
merger accepts a List of collected values for every row typed by their common type:
df.merge { name.firstName and name.lastName }
    .by { it[0] + " (" + it[1].uppercase() + ")" }
    .into("fullName")
When heterogeneous columns are merged, they may need to be cast to valid types in merger:
df.merge { name.firstName and age and isHappy }
    .by { "${it[0]} aged ${it[1]} is " + (if (it[2] as Boolean) "" else "not ") + "happy" }
    .into("status")
By default, when no delimeter or merger is specified, values will be merged into the List:
df.merge { colsOf<Number>() }.into("data")
Merged column values can also be exported to List:
// Merge data from two columns into List<String>
df.merge { name.firstName and name.lastName }.by(",").intoList()
24 October 2025