Skip to main content

Extract Wrangles

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

Address​

Extract parts of addresses. Requires WrangleWorks Account.

Extract geographical information from unstructured text such as streets, cities, or countries. Requires WrangleWorks Account.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputName of the input column.string, integer, array—Yes
outputName of the output column.string, array—Yes
Options
dataTypeSpecific part of the address to extract.string; one of:
  • streets
  • cities
  • regions
  • countries
—Yes
Formatting
output_formatFormat of the extract output.string, null; one of:
  • list
  • columns
  • concatenate
nullNo
charCharacter to use when output_format is concatenate.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​

wrangles:
- extract.address:
input: Location
output: Street
dataType: streets
where: SUBSTRING(Location, 1, 3) = '221'
Location
221 B Baker St., London, England, United Kingdom
London SW1A 1AA, London, England, United Kingdom
Street
['221 B Baker St.']
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountYes
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID20
Catalog keyextract.address
Recipe keyextract.address
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.address
Legacy UUID44153f95-4581-4cee-898e-b3b4714045fd

Sources


AI​

Extract structured data from each input row using an AI model. Define the desired fields with output, or reuse a saved definition with model_id.

Use AI to extract meaningful structured data. extract.ai can be used recipe-first, where the output schema is defined in the recipe, or model-first, where a saved extract.ai model is called by model_id.

info

For saved extract.ai models, this is the preferred calling pattern compared with using extract.custom.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputInput column name, column index, or list of columns supplied together as DATA for each row. If omitted, all dataframe columns are supplied.array, nullnullNo
outputDesired extraction. Use an object keyed by output column name for structured fields, a string for one prompted value, or an array of field names/definitions. Each field may use the schema options below.string, array, object, nullnullNo
Options
record_examplesWhole-record examples. Each example has a separate input value or record and the complete expected output record. Optional name and notes provide model-visible context. Use {name: ..., notes: ..., input: ..., output: ...}. Omitted nullable output fields are completed with null. Required non-null nested properties must be supplied. This differs from examples nested under one output field, which teach only that field.array, object, nullnullNo
web_searchEnable OpenAI Responses web search; the model decides when searching helps. When true, every row also receives web_search_sources: a deduplicated list of {title, url} objects in source order, or an empty list when no source was used. This reserved column is automatic. Requires protocol responses. Defaults to false.booleanfalseNo
instructionsAdditional guidance applied to every input row. Use this for decision rules, evidence priorities, normalization requirements, or other behavior that applies to the complete extraction.string, array, nullnullNo
Formatting
output_formatHow extracted fields are written. columns writes one dataframe column per field (default); dictionary keeps one object; concatenate joins fields into one string using char.string, null; one of:
  • dictionary
  • columns
  • concatenate
nullNo
charSeparator used only when output_format is concatenate. Defaults to comma-space.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
Execution
threadsMaximum number of row-level requests sent in parallel. The configured default is 32.integer—No
timeoutMaximum seconds for one HTTP attempt. The configured default is 12; deadline can end the overall call sooner.number—No
deadlineTotal seconds allowed for the entire wrangle call, including queued work, retries, and backoff. The configured default is 15.number—No
Errors
retriesNumber of additional attempts after a retryable failure. The configured default is 1. Backoff and request timeouts remain bounded by deadline.integer—No
Details
api_keyOpenAI API key used for this wrangle, normally supplied through a recipe variable.string—Yes
model_idID of a saved extract.ai definition. Use it instead of defining an output schema. When output is also supplied with model_id in a recipe, output names the destination column or columns for the saved fields.string, nullnullNo
modelOpenAI model ID for this call. If omitted, uses the configured extract.ai default; a saved model definition may supply its own model.string—No
urlOverride the endpoint for the selected protocol. A chat/completions URL selects the legacy protocol only when protocol is omitted; new recipes should use the configured Responses endpoint.string—No
providerAI service provider. Currently only OpenAI is supported.string; one of:
  • openai
—No
protocolOpenAI API protocol. Responses is the configured default and is required for web_search; chat_completions remains available for legacy definitions.string; one of:
  • responses
  • chat_completions
—No
storeWhether OpenAI may store Responses API results. Defaults to false.boolean—No
cacheReuse identical successful results from the bounded warm-instance cache. Defaults to true. Set false when fresh model or web results are required.boolean—No
cache_ttlMaximum age in seconds for a cached result used by this call. Applies to extracted values and web_search_sources together.number—No
strictRequire OpenAI structured-output strict mode. Defaults to true. Definitions with dynamic dictionary keys automatically switch to non-strict provider mode and are still validated locally.boolean—No
reasoningResponses API reasoning controls. Set effort for reasoning-capable models. The configured default is none when that model supports it; otherwise the provider default applies.object—No
verbosityResponses API text verbosity for compatible models. Defaults to low when supported; ignored with a warning for incompatible models.string; one of:
  • low
  • medium
  • high
—No

Examples​

wrangles:
- extract.ai:
api_key: Your OpenAI api key
input: Product Specs
output:
Blade Diameter:
type: number
description: The diameter of the blade used, reported in inches.
default: N/A
examples:
- 4.5"
- 8 inch
Max. RPM:
type: number
description: The maximum rotations per minute (rpm).
default: 3600
examples:
- 3600 max. rpm
Product Specs
18V Cordless 4.5in angle grinder
120V 12in chop saw 3600 max. rpm
Blade DiameterMax. RPM
4.5 inches
12 inches3600
wrangles:
- extract.ai:
api_key: Your OpenAI api key
input: Product Specs
output:
Blade Diameter: The diameter of the blade used, reported in inches.
Max. RPM: The maximum rotations per minute (rpm).
Product Specs
18V Cordless 4.5in angle grinder
120V 12in chop saw 3600 max. rpm
Blade DiameterMax. RPM
4.5 inches
12 inches3600
wrangles:
- extract.ai:
api_key: Your OpenAI api key
model_id: xxxx-xxxx-xxxxxxxx
output:
- Colors
- Sizes
Items
Large yellow square
Medium orange triangle
ColorsSizes
[yellow]Large
[orange]Medium
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID21
Catalog keyextract.ai
Recipe keyextract.ai
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.ai
Legacy UUIDd9f89b00-fda3-4f4c-826c-6417b9390607

Sources


Attributes​

Extract numeric attributes from the input such as weights or lengths. Requires WrangleWorks Account.

Extract numeric attributes from unstructured text such as lengths, voltages, weights, or temperatures. Requires WrangleWorks Account.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputName of the input column.string, integer, array—Yes
outputName of the output column.string, array—Yes
Options
responseContentSpan - returns the text found. object - returns an object with the value and unit.string; one of:
  • span
  • object
"span"No
attribute_typeRequest only a specific type of attribute.string, null; one of:
  • angle
  • area
  • capacitance
  • charge
  • current
  • data transfer rate
  • electrical conductance
  • electrical resistance
  • energy
  • force
  • frequency
  • inductance
  • instance frequency
  • length
  • luminous flux
  • weight
  • power
  • pressure
  • speed
  • velocity
  • temperature
  • time
  • voltage
  • volume
  • volumetric flow
nullNo
desired_unitConvert the extracted unit to the desired unit.string, nullnullNo
boundWhen returning an object, if the input is a range (e.g. 10-20mm) set the value to return. min, mid or max. Default mid.string; one of:
  • min
  • mid
  • max
"mid"No
Formatting
first_elementGet the first element from results.booleanfalseNo
output_formatFormat of the extract output.string, null; one of:
  • list
  • dictionary
  • columns
  • concatenate
nullNo
charCharacter to use when output_format is concatenate.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​

wrangles:
- extract.attributes:
input: tools
output: attributes
responseContent: span
Tools (input)
hammer 5kg, 0.5m
Attributes (span )(output)
{'length': ['0.5m'], 'mass': ['5kg']}
wrangles:
- extract.attributes:
input: tools
output: attributes
responseContent: object
Tools (input)
hammer 5kg, 0.5m
Attributes (Object) (output)
{'length': [{'unit': 'metre', 'value': 0.5}], 'mass': [{'unit': 'kilogram', 'value': 5.0}]}
wrangles:
- extract.attributes:
input: Tools
output: attributes
responseContent: span
attribute_type: mass # Specific attributes

No sample available.

No sample available.

Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountYes
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID22
Catalog keyextract.attributes
Recipe keyextract.attributes
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.attributes
Legacy UUID03ccedef-c938-41f1-8980-280f1a91542e

Sources


Brackets​

Extract text properties in brackets from the input.

Extract text in brackets from the input.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputName of the input column.string, integer, array—Yes
outputName of the output columns.string, array—Yes
Options
find(Optional) The type of brackets to find (round '()', square '[]', curly '{}', angled '<>'). Default is all brackets.string, array"all"No
include_brackets(Optional) Include the brackets in the output.booleanfalseNo
Formatting
output_formatFormat of the extract output.string, null; one of:
  • list
  • columns
  • concatenate
nullNo
charCharacter to use when output_format is concatenate.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​

wrangles:
- extract.brackets:
input: Data
output: Output
Data
{Hello}
[Wrangles]
(!)
<!>
Output
Hello
Wrangles
!
!
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID23
Catalog keyextract.brackets
Recipe keyextract.brackets
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.brackets
Legacy UUID9b4c15fa-2aaa-40c8-8834-6e835760bee5

Sources


Codes​

Extract alphanumeric codes from the input. Requires WrangleWorks Account.

Extract alphanumeric codes from unstructured text. Can be performed on one column or multiple columns. Requires WrangleWorks Account.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputName or list of input columns.string, integer, array—Yes
outputName or list of output columns.string, array—Yes
Options
min_lengthMinimum length of allowed results.integer, string—No
max_lengthMaximum length of allowed results.integer, string—No
strategyControls filtering of likely false positives such as measurements. Lenient skips this filter; balanced and strict currently apply the same filter. Default is balanced. Unless min_length is provided, minimum lengths default to 3 for lenient, 4 for balanced, and 5 for strict.string; one of:
  • lenient
  • balanced
  • strict
—No
disallowed_patternsA pattern or JSON array of regex patterns to not include in the found codes.string—No
include_multi_part_tokensWhether to include multi-part tokens that have a space. Default True.boolean—No
extract_rawWhether to return tokens with their adjacent non-whitespace characters included, rather than the cleaned token. Default False.boolean—No
Formatting
first_elementGet the first element from results.booleanfalseNo
output_formatFormat of the extract output.string, null; one of:
  • list
  • columns
  • concatenate
nullNo
charCharacter to use when output_format is concatenate.string", "No
sort_orderDefault is input order. Also allows longest or shortest.string; one of:
  • input
  • longest
  • shortest
—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​

# One column input
wrangles:
- extract.codes:
input: Secret
output: Code Extract
Secret
to gain access use Z1ON0101
Code Extract
['Z1ON0101']
# Multi column input
wrangles:
- extract.codes:
input:
- code1
- code2
output: Codes
code1code2
code CH465517080-1code CH465517080-2
Codes
['CH465517080-1', 'CH465517080-2']
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountYes
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID24
Catalog keyextract.codes
Recipe keyextract.codes
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.codes
Legacy UUIDda591387-0fca-4842-8bcb-d19f561f0292

Sources


Custom​

Extract data from the input using a DIY or bespoke extraction wrangle. Requires WrangleWorks Account and Subscription.

Extract data from the input using a DIY or bespoke extraction wrangle. Can be performed on one column or multiple columns. Requires WrangleWorks Account and Subscription.

info

Non-regex pattern matching extracts whole-word matches separated by word boundaries. Word boundaries include anything that is not a letter, number, or underscore.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputName or list of input columns.string, integer, array—Yes
outputName or list of output columns.string, array, nullnullNo
Options
case_sensitiveAllows the wrangle to be case sensitive if set to True, default is False.booleanfalseNo
extract_rawExtract the raw data from the wrangle.booleanfalseNo
use_spellcheckUse spellcheck to also find minor mispellings compared to the reference data.booleanfalseNo
sortSort the results.string; one of:
  • training_order
  • input_order
  • longest
  • shortest
  • alphabetical
  • reverse_alphabetical
  • ascending
  • descending
"training_order"No
Formatting
use_labelsUse Labels in the extract output {label: value}.booleanfalseNo
first_elementGet the first element from results.booleanfalseNo
include_empty_labelsInclude labels with no found values in the output when using use_labels=True.booleantrueNo
output_formatFormat of the extract output.string, null; one of:
  • list
  • dictionary
  • columns
  • concatenate
nullNo
charCharacter to use when output_format is concatenate.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
Details
model_idThe ID of the wrangle to use.string, array—Yes

Examples​

# One column input
wrangles:
- extract.custom:
input: Product
output: Wood Types
model_id: model_id_here
Product
Dining Oakwood Chair
Living Room Teakwood Frame Mirror
Wood Types
Oakwood
Teakwood
# Multi column input
wrangles:
- extract.custom:
input:
- Part 1 of 2
- Part 2 of 2
output: Wood Types
model_id: model_id_here
Part 1 of 2Part 2 of 2
Dining Acacia Wood TableImitation Wood Table Chairs
Wood Types
['Acacia Wood', 'Imitation Wood']
# Multiple Models
wrangles:
- extract.custom:
input:
- Product
- Product
output:
- Wood Types
- Item Type
model_id:
- wood_Type_model_id
- item_type_model_id

No sample available.

ProductItem TypeWood Types
Dining Oakwood ChairChairOakwood
Living Room Teakwood Frame MirrorMirrorTeakwood
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountYes
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID25
Catalog keyextract.custom
Recipe keyextract.custom
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.custom
Legacy UUIDe8e96b76-86bf-41dc-8d16-825dcff9688b

Sources


Date Properties​

Extract date properties from a date (day, month, year, etc...).

Extract date properties from a date, such as day, month, year, weekday, or quarter.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputName of the input column.string, integer, array—Yes
outputName of the output columns.string, nullnullNo
Options
propertyProperty to extract from date.string; one of:
  • day
  • day_of_year
  • month
  • month_name
  • weekday
  • week_day_name
  • week_year
  • quarter
—Yes
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:
- extract.date_properties:
input: Date
output: Output
property: month_name
Date
1992-08-13 00:00:00
Output
August
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID26
Catalog keyextract.date_properties
Recipe keyextract.date_properties
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.date_properties
Legacy UUIDa346de62-93cd-44ba-8d30-a6305629c6d7

Sources


Date Range​

Extract date range frequency from two dates.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
start_timeName of the start date column.string—Yes
end_timeName of the end date column.string—Yes
outputName of the output column.string—Yes
Options
rangeType of frequency to count.string; one of:
  • business days
  • days
  • weeks
  • months
  • semi months
  • business month ends
  • month starts
  • semi month starts
  • business month starts
  • quarters
  • quarter starts
  • years
  • business hours
  • hours
  • minutes
  • seconds
  • milliseconds
"day"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​

wrangles:
- extract.date_range:
start_time: Start
end_time: End
output: Output
range: months

No sample available.

EndStartOutput
2023-08-13 00:00:001992-08-13 00:00:00371
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID27
Catalog keyextract.date_range
Recipe keyextract.date_range
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.date_range
Legacy UUID9cebfa6f-a524-4aec-84a7-02d77b792843

Sources


HTML​

Extract elements from strings containing html. Requires WrangleWorks Account.

Extract text and links from HTML elements. Requires WrangleWorks Account.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputName or list of input columns.string, integer, array—Yes
outputName or list of output columns.string, array, nullnullNo
Options
data_typeThe type of data to extract.string; one of:
  • text
  • links
—Yes
Formatting
output_formatFormat of the extract output.string, null; one of:
  • list
  • columns
  • concatenate
nullNo
charCharacter to use when output_format is concatenate.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​

wrangles:
- extract.html:
input: HTML
output: Text
data_type: text
HTML
`
Text
wrangles:
- extract.html:
input: HTML
output: Links
data_type: links
HTML
`
Links
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountYes
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID28
Catalog keyextract.html
Recipe keyextract.html
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.html
Legacy UUID728fc87a-a20d-4efa-833a-612e0b5eadc3

Sources


Properties​

Extract text properties from the input. Requires WrangleWorks Account.

Extract categorical properties from unstructured text, such as colours or materials. Requires WrangleWorks Account.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputName of the input column.string, integer, array—Yes
outputName of the output columns.string, array—Yes
Options
property_typeThe specific type of properties to extract.string, null; one of:
  • Colours
  • Materials
  • Shapes
  • Standards
nullNo
Formatting
return_data_typeLegacy format option. Prefer output_format.string; one of:
  • list
  • string
"list"No
first_elementGet the first element from results.booleanfalseNo
output_formatFormat of the extract output.string, null; one of:
  • list
  • dictionary
  • columns
  • concatenate
nullNo
charCharacter to use when output_format is concatenate.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​

wrangles:
- extract.properties:
input: water bottles
output: properties

No sample available.

ProductsProduct Properties
Stainless Steel Blue Bottle{'Colours': ['Blue'], 'Materials': ['Stainless Steel']}
Plastic Yellow Bottle{'Colours': ['Yellow'], 'Materials': ['Plastic']}
wrangles:
- extract.properties:
input: water bottles
output: properties
property_type: colours # Optional

No sample available.

ProductsProduct Colours
Stainless Steel Blue Bottle['Blue']
Plastic Yellow Bottle['Yellow']
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountYes
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID29
Catalog keyextract.properties
Recipe keyextract.properties
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.properties
Legacy UUID23bbdb86-fd13-4b78-8fff-a7a76769ab63

Sources


Regex​

Extract matches or specific capture groups using regex.

Extract single values, matches, or specific capture groups using regex.

Parameters​

NameDescriptionAccepted ValuesDefaultRequired
I/O
inputName of the input column(s).string, integer, array—Yes
outputName of the output column(s).string, array—Yes
Options
findPattern to find using regex.string—Yes
Formatting
output_patternSpecifies the format to output matches and specific capture groups using backreferences (e.g., \1, \2). Default is to return entire matches. Example: For a regex pattern r'(\d+)\s(\w+)' and output_pattern = '\2 \1', with input '120 volt', the output would be 'volt 120'.string, nullnullNo
first_elementGet the first element from results.booleanfalseNo
output_formatFormat of the extract output.string, null; one of:
  • list
  • columns
  • concatenate
nullNo
charCharacter to use when output_format is concatenate.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​

wrangles:
- extract.regex:
input: Product
output: GPM
find: \d\.?\d? ?gpm
Product
3.4 gpm water pump
2gpm water pump
GPM
3.4 gpm
2gpm
wrangles:
- extract.regex:
input: Product
output: GPM
find: (\d\.?\d?) ?gpm
output_pattern: \1 Gallons Per Minute
Product
3.4 gpm water pump for 5.5 gallon tank
2gpm water pump for 2 gal tank
GPM
3.4 Gallons Per Minute
2 Gallons Per Minute
Access
RequirementValue
AI-poweredNo
Requires WrangleWorks accountNo
Requires subscriptionNo
Requires external API keyNo
Technical details
FieldValue
Catalog ID30
Catalog keyextract.regex
Recipe keyextract.regex
Catalog statusactive
Lifecycle statusactive
Recipe Writer eligibleYes
Namespaceextract
Documentation groupextract
AliasesNone
Runtime symbolwrangles.recipe_wrangles.extract.regex
Legacy UUID9aa0253a-4b70-4737-832c-964e15967289

Sources