CSV v1.2.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 Parser module - parses tokens coming from the lexer and sends them to the receiver process / the decoder

Exceptions summary

Raised at runtime when the CSV encoding is invalid

Raised at runtime when the CSV syntax is invalid

Protocols summary

Implement encoding for your data types