Skip to content

CSV Record

Type Registry

CSV Record

container.object.csv

Single CSV record or row stored as a delimited string. Format: value1,value2,value3 (may include quoted values). RECURSIVE INFERENCE: When classified as container.object.csv, FineType requires a schema (column names and types). With schema, parses and types each value. Without schema, returns unparsed CSV string. NOTE: CSV classification is rare for individual records. More common to classify at the column level (entire CSV file as one string).

Domain containerobject
Casts to VARCHAR
Scope Universal

Try it

CLI
$ finetype infer -i "John,30,true"
→ container.object.csv

DuckDB

Detect
SELECT finetype('John,30,true');
-- → 'container.object.csv'
Cast expression
CAST({col} AS VARCHAR)
Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS VARCHAR) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'container.object.csv';

Decompose

RECURSIVE_INFER_ON_CSV_COLUMNS({col})

JSON Schema

finetype schema container.object.csv
{
  "$id": "https://noon.sh/schemas/container.object.csv",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Single CSV record or row stored as a delimited string. Format: value1,value2,value3 (may include quoted values).\nRECURSIVE INFERENCE: When classified as container.object.csv, FineType requires a schema (column names and types). With schema, parses and types each value. Without schema, returns unparsed CSV string.\nNOTE: CSV classification is rare for individual records. More common to classify at the column level (entire CSV file as one string).",
  "examples": [
    "John,30,true",
    "\"Smith, John\",30,Engineer"
  ],
  "pattern": "^[^,]+(,[^,]+)*$",
  "title": "CSV Record",
  "type": "string"
}

Examples

John,30,true"Smith, John",30,Engineer

Also known as

csv_rowdelimited_record

Types in container