CSV parsing and encoding library
cassava
is a library for parsing and encoding RFC 4180 compliant comma-separated values (CSV) data, which is a textual line-oriented format commonly used for exchanging tabular data.
cassava
's API includes support for:
Index-based record-conversion
Name-based record-conversion
Typeclass directed conversion of fields and records
Built-in field-conversion instances for standard types
Customizable record-conversion instance derivation via GHC generics
Low-level bytestring builders (see Data.Csv.Builder)
Incremental decoding and encoding API (see Data.Csv.Incremental)
Streaming API for constant-space decoding (see Data.Csv.Streaming)
Moreover, this library is designed to be easy to use; for instance, here's a very simple example of encoding CSV data:
>>> Data.Csv.encode [("John",27),("Jane",28)] "John,27 Jane,28 "
System | Target | Derivation | Build status |
---|---|---|---|
x86_64-linux | /gnu/store/s7vnci43gf1jky904qhmwwpfg3y0l647-ghc-cassava-0.5.2.0.drv | ||
mips64el-linux | /gnu/store/84fbrgim2dd94dhpnk9xg11v9519w16w-ghc-cassava-0.5.2.0.drv | ||
i686-linux | /gnu/store/br92fl2a138hb5dmfg5i25wl999gwsn3-ghc-cassava-0.5.2.0.drv | ||
i586-gnu | /gnu/store/ldlg37f55rsxph4wgg09ng8ky9g4j8nv-ghc-cassava-0.5.2.0.drv | ||
armhf-linux | /gnu/store/aj5wn1jjd6k8y59kf0lp40m0xri7x2m3-ghc-cassava-0.5.2.0.drv | ||
aarch64-linux | /gnu/store/mzwgf72x2jq7cyd7axxrid2y1g8l7sfr-ghc-cassava-0.5.2.0.drv |
Linter | Message | Location |
---|---|---|
No lint warnings ✓ |