CSV v0.1.0

Modules summary

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

CSV.Decoder

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 and influences the order of the stream

CSV.Encoder

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

CSV.Lexer

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

CSV.Parser

The CSV Parser module - parses tokens coming from the lexer and sends them to the receiver process / the decoder

Exceptions summary

CSV.Parser.SyntaxError

Raised at runtime when the CSV syntax is invalid