This library contains parsers & generators for CSVs (and CSV-like delimited formats). It additionally contains some non-csv format parsers.
The Delimited.Read module contains two mechanisms for reading CSVs:
'a of your choice.Row object & requesting headers/indices directly. This is a more obvious interface but provides little protection against programmer error.In new code you should favour the applicative interface (it's like Command.Spec). See the example under example/ or ask a delimited dev for help if you're not familiar.
The Delimited.Write module contains two mechanisms for writing CSVs:
'a of your choice.New code should prefer the builder interface. There's an example under example/ or you can ask a delimited dev for help.
(Technical note: the main writer interface is not an applicative functor.)
There are two non-csv formats supported for parsing:
Non_csv.character_separated_without_quoting: like CSVs but no field may contain newlines or the delimiter character as there is no quotingNon_csv.Positional: parses fixed-width fields