Skip to main content


Laurence MorganAbout 1 min


CSV files (and other character delimited tables)


This data type can be used for not only CSV files but also TSV (tab separated) or any other exotic characters used as a delimiter.


The CSV parser is configurable via config (see link below for docs on how to use config)

» config -> [csv]      
    "comment": {
        "Data-Type": "str",
        "Default": "#",
        "Description": "The prefix token for comments in a CSV table.",
        "Dynamic": false,
        "Global": false,
        "Value": "#"
    "separator": {
        "Data-Type": "str",
        "Default": ",",
        "Description": "The delimiter for records in a CSV file.",
        "Dynamic": false,
        "Global": false,
        "Value": ","

Default Associations

  • Extension: csv
  • MIME: application/csv
  • MIME: application/x-csv
  • MIME: text/csv
  • MIME: text/x-csv

Supported Hooks

  • Marshal() Supported
  • ReadArray() Treats each new line as a new array element
  • ReadArrayWithType() Treats each new line as a new array element, each element is mini csv file
  • ReadIndex() Indexes treated as table coordinates
  • ReadMap() Works against tables such as the output from ps -fe
  • ReadNotIndex() Indexes treated as table coordinates
  • Unmarshal() Supported
  • WriteArray() Writes a new line per array element

See Also

  • * (generic): generic (primitive)
  • [[ Element ]]: Outputs an element from a nested structure
  • cast: Alters the data type of the previous function without altering it's output
  • config: Query or define Murex runtime settings
  • format: Reformat one data-type into another data-type
  • int: Whole number (primitive)
  • jsonl: JSON Lines
  • select: Inlining SQL into shell pipelines
  • str (string): string (primitive)
  • index: Outputs an element from an array, map or table

Read more about type hooks

This document was generated from builtins/types/csv/csv_doc.yamlopen in new window.

Last update:
Contributors: Laurence Morgan