Skip to main content

Merge Wrangles

Merge wrangles, with recipe examples, parameters, and behavior.

Coalesce​

Take the first non-empty value from a series of columns or lists.

Take the first non-empty value from a series of columns.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputList of input columns or a single column containing lists.array—Yes
outputName of the output columns. This is required if multiple input columns are provided.string, nullnullNo
Conditions
ifCondition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}.string—No
whereFilter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'.string—No
where_paramsValues used with where for parameterized criteria. Uses SQLite placeholder syntax such as ? or :name.array, object—No

Examples​

wrangles:
- merge.coalesce:
input:
- Col1
- Col2
- Col3
output: Output Col
where: Col2 = E
Col1Col2Col3
ABC
DEF
GHI
Output Col
D
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID40
Catalog keymerge.coalesce
Recipe keymerge.coalesce
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespacemerge
Documentation groupmerge
AliasesNone
Runtime symbolwrangles.recipe_wrangles.merge.coalesce
Legacy UUID25c1a60d-fa48-4b9a-8c03-0921d5b31049

Sources


Concatenate​

Concatenate a list of columns or a list within a single column.

If the input is a list of columns, concatenate multiple columns into one as a delimited string. If the input is a single column, concatenate a list within that column into a delimited string.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputEither a single column name or list of columns.string, integer, array—Yes
outputName of the output column.string—Yes
Options
skip_emptyWhether to skip empty values, defaults to false.booleanfalseNo
Formatting
char(Optional) Character to add between successive values.string","No
Conditions
ifCondition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}.string—No
whereFilter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'.string—No
where_paramsValues used with where for parameterized criteria. Uses SQLite placeholder syntax such as ? or :name.array, object—No

Examples​

# Using concatenate to combine multiple columns
wrangles:
- merge.concatenate:
input:
- Col1
- Col2
- Col3
output: Join Col
char: ', '
Col1Col2Col3
ABC
Join Col
A, B, C
# Using concatenate to join a column that is a list
wrangles:
- merge.concatenate:
input: Col1
output: Join List
char: ' '
Col1
['A', 'B', 'C']
Join List
A B C
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID41
Catalog keymerge.concatenate
Recipe keymerge.concatenate
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespacemerge
Documentation groupmerge
AliasesNone
Runtime symbolwrangles.recipe_wrangles.merge.concatenate
Legacy UUID6ff76728-e1f6-4d3d-8946-6aa3b7524b3f

Sources


Dictionaries​

Take dictionaries in multiple columns and merge them to a single dictionary.

note

For duplicate keys, the last key in the input list takes precedence in the merged dictionary.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputList of input columns.array—Yes
outputName of the output column.string—Yes
Options
skip_emptyWhether to skip empty dictionaries when merging.booleanfalseNo
Conditions
ifCondition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}.string—No
whereFilter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'.string—No
where_paramsValues used with where for parameterized criteria. Uses SQLite placeholder syntax such as ? or :name.array, object—No

Examples​

wrangles:
- merge.dictionaries:
input:
- Dict 1
- Dict 2
output: Merged
Dict 1Dict 2
{'First': 'One'}{'Second': 'Two'}
Merged
{'First': 'One', 'Second': 'Two'}
# Using a Wildcard (*)
wrangles:
- merge.dictionaries:
input: Dict *
output: Merged
Dict 1Dict 2
{'First': 'One'}{'Second': 'Two'}
Merged
{'First': 'One', 'Second': 'Two'}
# Using a Wildcard (*)
wrangles:
- merge.dictionaries:
input:
- Dict *
- -Dict 2
output: Merged

Note the extra dash in front of Dict 2 excludes that column from the wildcard selection.

Dict 1Dict 2Dict 3
{'First': 'One'}{'Second': 'Two'}{'Third': 'Three'}
Merged
{'First': 'One', 'Third': 'Three'}
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID42
Catalog keymerge.dictionaries
Recipe keymerge.dictionaries
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespacemerge
Documentation groupmerge
AliasesNone
Runtime symbolwrangles.recipe_wrangles.merge.dictionaries
Legacy UUID93e27737-e966-4ba9-8777-4e96724ebfc4

Sources


Key Value Pairs​

Create a dictionary from keys and values in paired columns e.g. COLUMN_NAME_1, COLUMN_VALUE_1, COLUMN_NAME_2, COLUMN_VALUE_2 ...

Create a dictionary from keys and values in paired columns.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputMatched pairs of key and value columns.object—Yes
outputName of the output column.string—Yes
Options
skip_emptyWhether to skip empty keys or values when creating the dictionary.booleanfalseNo
Conditions
ifCondition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}.string—No
whereFilter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'.string—No
where_paramsValues used with where for parameterized criteria. Uses SQLite placeholder syntax such as ? or :name.array, object—No

Examples​

wrangles:
- merge.key_value_pairs:
input:
Letter: Number
output: Pairs
LetterNumber
A1
B2
C3
Pairs
{'A': 1}
{'B': 2}
{'C': 3}
# Using a Wildcard (*)
wrangles:
- merge.key_value_pairs:
input:
key*: value*
output: Object
key 1key 2value 1value 2
AOneaFirst
BTwobSecond
CthreecThird
Object
{'A': 'a', 'One': 'First'}
{'B': 'b', 'Two': 'Second'}
{'C': 'c', 'three': 'Third'}
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID43
Catalog keymerge.key_value_pairs
Recipe keymerge.key_value_pairs
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespacemerge
Documentation groupmerge
AliasesNone
Runtime symbolwrangles.recipe_wrangles.merge.key_value_pairs
Legacy UUID8a2cd37c-8ef7-4b05-8264-36512f5dd837

Sources


Lists​

Take lists in multiple columns and merge them to a single list.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputList of input columns.array—Yes
outputName of the output column.string—Yes
Options
remove_duplicatesWhether to remove duplicates from the created list.booleanfalseNo
ignore_caseIgnore case when removing duplicates.booleanfalseNo
include_emptyWhether to include empty values in the created list.booleantrueNo
Conditions
ifCondition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}.string—No
whereFilter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'.string—No
where_paramsValues used with where for parameterized criteria. Uses SQLite placeholder syntax such as ? or :name.array, object—No

Examples​

wrangles:
- merge.lists:
input:
- col1
- col2
output: Combined Col
remove_duplicates: false
Col1Col2
['A', 'B']['D', 'E']
Combined Col
['A', 'B', 'D', 'E']
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID44
Catalog keymerge.lists
Recipe keymerge.lists
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespacemerge
Documentation groupmerge
AliasesNone
Runtime symbolwrangles.recipe_wrangles.merge.lists
Legacy UUIDd9978f00-b3d4-4583-884e-a53b98a43e9a

Sources


To Dict​

Take multiple columns and merge them to a dictionary (aka object) using the column headers as keys.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputList of input columns.array—Yes
outputName of the output column.string—Yes
Options
include_emptyWhether to include empty columns in the created dictionary.booleanfalseNo
Conditions
ifCondition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}.string—No
whereFilter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'.string—No
where_paramsValues used with where for parameterized criteria. Uses SQLite placeholder syntax such as ? or :name.array, object—No

Examples​

wrangles:
- merge.to_dict:
input:
- Col1
- Col2
output: Dict Col
Col1Col2
AB
Dict Col
{'Col1': 'A', 'Col2': 'B'}
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID45
Catalog keymerge.to_dict
Recipe keymerge.to_dict
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespacemerge
Documentation groupmerge
AliasesNone
Runtime symbolwrangles.recipe_wrangles.merge.to_dict
Legacy UUID9b869210-0d89-403b-8409-7cecdb5f9c7c

Sources


To List​

Take multiple columns and merge them to a list.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputList of input columns.array—Yes
outputName of the output column.string—Yes
Options
include_emptyWhether to include empty columns in the created list.booleanfalseNo
Conditions
ifCondition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}.string—No
whereFilter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'.string—No
where_paramsValues used with where for parameterized criteria. Uses SQLite placeholder syntax such as ? or :name.array, object—No

Examples​

wrangles:
- merge.to_list:
input:
- Col1
- Col2
- Col3
output: List Col
Col1Col2Col3
ABC
List Col
['A', 'B', 'C']
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID46
Catalog keymerge.to_list
Recipe keymerge.to_list
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespacemerge
Documentation groupmerge
AliasesNone
Runtime symbolwrangles.recipe_wrangles.merge.to_list
Legacy UUIDd5300fe7-c8a4-4a41-8f12-f2c1698678cc

Sources