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
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
input | Name of the input column. | string, integer, array | — | Yes |
output | Name of the output column. | string, array | — | Yes |
| Options | | | | |
dataType | Specific part of the address to extract. | string; one of:- streets
- cities
- regions
- countries
| — | Yes |
| Formatting | | | | |
output_format | Format of the extract output. | string, null; one of: | null | No |
char | Character to use when output_format is concatenate. | string | ", " | No |
| Conditions | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values 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'
| Street |
|---|
| ['221 B Baker St.'] |
|
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | Yes |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 20 |
| Catalog key | extract.address |
| Recipe key | extract.address |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.address |
| Legacy UUID | 44153f95-4581-4cee-898e-b3b4714045fd |
Sources
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.
For saved extract.ai models, this is the preferred calling pattern compared with using extract.custom.
Parameters
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
input | Input column name, column index, or list of columns supplied together as DATA for each row. If omitted, all dataframe columns are supplied. | array, null | null | No |
output | Desired 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, null | null | No |
| Options | | | | |
record_examples | Whole-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, null | null | No |
web_search | Enable 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. | boolean | false | No |
instructions | Additional 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, null | null | No |
| Formatting | | | | |
output_format | How 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
| null | No |
char | Separator used only when output_format is concatenate. Defaults to comma-space. | string | ", " | No |
| Conditions | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values used with where for parameterized criteria. Uses SQLite placeholder syntax such as ? or :name. | array, object | — | No |
| Execution | | | | |
threads | Maximum number of row-level requests sent in parallel. The configured default is 32. | integer | — | No |
timeout | Maximum seconds for one HTTP attempt. The configured default is 12; deadline can end the overall call sooner. | number | — | No |
deadline | Total seconds allowed for the entire wrangle call, including queued work, retries, and backoff. The configured default is 15. | number | — | No |
| Errors | | | | |
retries | Number of additional attempts after a retryable failure. The configured default is 1. Backoff and request timeouts remain bounded by deadline. | integer | — | No |
| Details | | | | |
api_key | OpenAI API key used for this wrangle, normally supplied through a recipe variable. | string | — | Yes |
model_id | ID 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, null | null | No |
model | OpenAI model ID for this call. If omitted, uses the configured extract.ai default; a saved model definition may supply its own model. | string | — | No |
url | Override 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 |
provider | AI service provider. Currently only OpenAI is supported. | string; one of: | — | No |
protocol | OpenAI 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 |
store | Whether OpenAI may store Responses API results. Defaults to false. | boolean | — | No |
cache | Reuse 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_ttl | Maximum age in seconds for a cached result used by this call. Applies to extracted values and web_search_sources together. | number | — | No |
strict | Require 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 |
reasoning | Responses 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 |
verbosity | Responses API text verbosity for compatible models. Defaults to low when supported; ignored with a warning for incompatible models. | string; one of: | — | 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
| Blade Diameter | Max. RPM |
|---|
| 4.5 inches | |
| 12 inches | 3600 |
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).
| Blade Diameter | Max. RPM |
|---|
| 4.5 inches | |
| 12 inches | 3600 |
wrangles:
- extract.ai:
api_key: Your OpenAI api key
model_id: xxxx-xxxx-xxxxxxxx
output:
- Colors
- Sizes
| Colors | Sizes |
|---|
| [yellow] | Large |
| [orange] | Medium |
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | No |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 21 |
| Catalog key | extract.ai |
| Recipe key | extract.ai |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.ai |
| Legacy UUID | d9f89b00-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
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
input | Name of the input column. | string, integer, array | — | Yes |
output | Name of the output column. | string, array | — | Yes |
| Options | | | | |
responseContent | Span - returns the text found. object - returns an object with the value and unit. | string; one of: | "span" | No |
attribute_type | Request 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
| null | No |
desired_unit | Convert the extracted unit to the desired unit. | string, null | null | No |
bound | When 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: | "mid" | No |
| Formatting | | | | |
first_element | Get the first element from results. | boolean | false | No |
output_format | Format of the extract output. | string, null; one of:- list
- dictionary
- columns
- concatenate
| null | No |
char | Character to use when output_format is concatenate. | string | ", " | No |
| Conditions | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values 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
| Attributes (span )(output) |
|---|
| {'length': ['0.5m'], 'mass': ['5kg']} |
wrangles:
- extract.attributes:
input: tools
output: attributes
responseContent: object
| 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
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | Yes |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 22 |
| Catalog key | extract.attributes |
| Recipe key | extract.attributes |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.attributes |
| Legacy UUID | 03ccedef-c938-41f1-8980-280f1a91542e |
Sources
Brackets
Extract text properties in brackets from the input.
Extract text in brackets from the input.
Parameters
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
input | Name of the input column. | string, integer, array | — | Yes |
output | Name 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. | boolean | false | No |
| Formatting | | | | |
output_format | Format of the extract output. | string, null; one of: | null | No |
char | Character to use when output_format is concatenate. | string | ", " | No |
| Conditions | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values 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
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | No |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 23 |
| Catalog key | extract.brackets |
| Recipe key | extract.brackets |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.brackets |
| Legacy UUID | 9b4c15fa-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
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
input | Name or list of input columns. | string, integer, array | — | Yes |
output | Name or list of output columns. | string, array | — | Yes |
| Options | | | | |
min_length | Minimum length of allowed results. | integer, string | — | No |
max_length | Maximum length of allowed results. | integer, string | — | No |
strategy | Controls 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: | — | No |
disallowed_patterns | A pattern or JSON array of regex patterns to not include in the found codes. | string | — | No |
include_multi_part_tokens | Whether to include multi-part tokens that have a space. Default True. | boolean | — | No |
extract_raw | Whether to return tokens with their adjacent non-whitespace characters included, rather than the cleaned token. Default False. | boolean | — | No |
| Formatting | | | | |
first_element | Get the first element from results. | boolean | false | No |
output_format | Format of the extract output. | string, null; one of: | null | No |
char | Character to use when output_format is concatenate. | string | ", " | No |
sort_order | Default is input order. Also allows longest or shortest. | string; one of: | — | No |
| Conditions | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values used with where for parameterized criteria. Uses SQLite placeholder syntax such as ? or :name. | array, object | — | No |
Examples
wrangles:
- extract.codes:
input: Secret
output: Code Extract
wrangles:
- extract.codes:
input:
- code1
- code2
output: Codes
| Codes |
|---|
| ['CH465517080-1', 'CH465517080-2'] |
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | Yes |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 24 |
| Catalog key | extract.codes |
| Recipe key | extract.codes |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.codes |
| Legacy UUID | da591387-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.
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
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
input | Name or list of input columns. | string, integer, array | — | Yes |
output | Name or list of output columns. | string, array, null | null | No |
| Options | | | | |
case_sensitive | Allows the wrangle to be case sensitive if set to True, default is False. | boolean | false | No |
extract_raw | Extract the raw data from the wrangle. | boolean | false | No |
use_spellcheck | Use spellcheck to also find minor mispellings compared to the reference data. | boolean | false | No |
sort | Sort the results. | string; one of:- training_order
- input_order
- longest
- shortest
- alphabetical
- reverse_alphabetical
- ascending
- descending
| "training_order" | No |
| Formatting | | | | |
use_labels | Use Labels in the extract output {label: value}. | boolean | false | No |
first_element | Get the first element from results. | boolean | false | No |
include_empty_labels | Include labels with no found values in the output when using use_labels=True. | boolean | true | No |
output_format | Format of the extract output. | string, null; one of:- list
- dictionary
- columns
- concatenate
| null | No |
char | Character to use when output_format is concatenate. | string | ", " | No |
| Conditions | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values used with where for parameterized criteria. Uses SQLite placeholder syntax such as ? or :name. | array, object | — | No |
| Details | | | | |
model_id | The ID of the wrangle to use. | string, array | — | Yes |
Examples
wrangles:
- extract.custom:
input: Product
output: Wood Types
model_id: model_id_here
| Wood Types |
|---|
| Oakwood |
| Teakwood |
wrangles:
- extract.custom:
input:
- Part 1 of 2
- Part 2 of 2
output: Wood Types
model_id: model_id_here
| Wood Types |
|---|
| ['Acacia Wood', 'Imitation Wood'] |
wrangles:
- extract.custom:
input:
- Product
- Product
output:
- Wood Types
- Item Type
model_id:
- wood_Type_model_id
- item_type_model_id
| Product | Item Type | Wood Types |
|---|
| Dining Oakwood Chair | Chair | Oakwood |
| Living Room Teakwood Frame Mirror | Mirror | Teakwood |
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | Yes |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 25 |
| Catalog key | extract.custom |
| Recipe key | extract.custom |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.custom |
| Legacy UUID | e8e96b76-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
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
input | Name of the input column. | string, integer, array | — | Yes |
output | Name of the output columns. | string, null | null | No |
| Options | | | | |
property | Property to extract from date. | string; one of:- day
- day_of_year
- month
- month_name
- weekday
- week_day_name
- week_year
- quarter
| — | Yes |
| Conditions | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values 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
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | No |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 26 |
| Catalog key | extract.date_properties |
| Recipe key | extract.date_properties |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.date_properties |
| Legacy UUID | a346de62-93cd-44ba-8d30-a6305629c6d7 |
Sources
Date Range
Extract date range frequency from two dates.
Parameters
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
start_time | Name of the start date column. | string | — | Yes |
end_time | Name of the end date column. | string | — | Yes |
output | Name of the output column. | string | — | Yes |
| Options | | | | |
range | Type 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 | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values 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
| End | Start | Output |
|---|
| 2023-08-13 00:00:00 | 1992-08-13 00:00:00 | 371 |
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | No |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 27 |
| Catalog key | extract.date_range |
| Recipe key | extract.date_range |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.date_range |
| Legacy UUID | 9cebfa6f-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
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
input | Name or list of input columns. | string, integer, array | — | Yes |
output | Name or list of output columns. | string, array, null | null | No |
| Options | | | | |
data_type | The type of data to extract. | string; one of: | — | Yes |
| Formatting | | | | |
output_format | Format of the extract output. | string, null; one of: | null | No |
char | Character to use when output_format is concatenate. | string | ", " | No |
| Conditions | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values 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
wrangles:
- extract.html:
input: HTML
output: Links
data_type: links
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | Yes |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 28 |
| Catalog key | extract.html |
| Recipe key | extract.html |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.html |
| Legacy UUID | 728fc87a-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
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
input | Name of the input column. | string, integer, array | — | Yes |
output | Name of the output columns. | string, array | — | Yes |
| Options | | | | |
property_type | The specific type of properties to extract. | string, null; one of:- Colours
- Materials
- Shapes
- Standards
| null | No |
| Formatting | | | | |
return_data_type | Legacy format option. Prefer output_format. | string; one of: | "list" | No |
first_element | Get the first element from results. | boolean | false | No |
output_format | Format of the extract output. | string, null; one of:- list
- dictionary
- columns
- concatenate
| null | No |
char | Character to use when output_format is concatenate. | string | ", " | No |
| Conditions | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values 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
| Products | Product 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
| Products | Product Colours |
|---|
| Stainless Steel Blue Bottle | ['Blue'] |
| Plastic Yellow Bottle | ['Yellow'] |
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | Yes |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 29 |
| Catalog key | extract.properties |
| Recipe key | extract.properties |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.properties |
| Legacy UUID | 23bbdb86-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
| Name | Description | Accepted Values | Default | Required |
|---|
| I/O | | | | |
input | Name of the input column(s). | string, integer, array | — | Yes |
output | Name of the output column(s). | string, array | — | Yes |
| Options | | | | |
find | Pattern to find using regex. | string | — | Yes |
| Formatting | | | | |
output_pattern | Specifies 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, null | null | No |
first_element | Get the first element from results. | boolean | false | No |
output_format | Format of the extract output. | string, null; one of: | null | No |
char | Character to use when output_format is concatenate. | string | ", " | No |
| Conditions | | | | |
if | Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with ${variable}. | string | — | No |
where | Filter rows before applying the wrangle using SQL-like criteria, such as column1 = 123 OR column2 = 'abc'. | string | — | No |
where_params | Values 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
wrangles:
- extract.regex:
input: Product
output: GPM
find: (\d\.?\d?) ?gpm
output_pattern: \1 Gallons Per Minute
| GPM |
|---|
| 3.4 Gallons Per Minute |
| 2 Gallons Per Minute |
Access
| Requirement | Value |
|---|
| AI-powered | No |
| Requires WrangleWorks account | No |
| Requires subscription | No |
| Requires external API key | No |
Technical details
| Field | Value |
|---|
| Catalog ID | 30 |
| Catalog key | extract.regex |
| Recipe key | extract.regex |
| Catalog status | active |
| Lifecycle status | active |
| Recipe Writer eligible | Yes |
| Namespace | extract |
| Documentation group | extract |
| Aliases | None |
| Runtime symbol | wrangles.recipe_wrangles.extract.regex |
| Legacy UUID | 9aa0253a-4b70-4737-832c-964e15967289 |
Sources