CSV v2.3.1 API Reference

Modules

CSV

RFC 4180 compliant CSV parsing and encoding for Elixir. Allows to specify other separators, so it could also be named: TSV, but it isn't

The Decoder CSV module sends lines of delimited values from a stream to the parser and converts rows coming from the CSV parser module to a consumable stream. In setup, it parallelises lexing and parsing, as well as different lexer/parser pairs as workers. The number of workers can be controlled via options

RFC 4180 compatible CSV lexer. Lexes tokens and sends them to the parser process

The CSV Parser module - parses tokens coming from the lexer and parses them into a row of fields

The CSV lines preprocessor module - aggregates lines in a stream that are part of a common escape sequence

The CSV none preprocessor module - input = output

The module defaults of CSV

Implement encoding for your data types

The Encoder CSV module takes a table stream and transforms it into RFC 4180 compliant stream of lines for writing to a CSV File or other IO

Exceptions

Raised at runtime when the CSV encoding is invalid

Raised at runtime when the CSV stream ends with unfinished escape sequences

Raised at runtime when the CSV has rows of variable length

Raised at runtime when the CSV row has stray quotes