CSV v1.4.1
Modules summary
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 pipes. The number of pipes can be controlled via options
The module defaults of CSV
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
RFC 4180 compatible CSV lexer. Lexes tokens and sends them to the parser process
The CSV LineAggregator module - aggregates lines in a stream that are part of a common escape sequence
The CSV Parser module - parses tokens coming from the lexer and parses them into a row of fields
Exceptions summary
Raised at runtime when the CSV has rows of variable length
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 syntax is invalid
Protocols summary
Implement encoding for your data types