Cassava support for the streaming ecosystem
|Latest on Hackage:||0.1.0.1|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
This library allows you to easily stream CSV data in and out. You can do so using both "plain" record-based (with optional header support) or name-based (header required to determine ordering) encoding/decoding.
All encoding/decoding options are supported, it's possible to automatically add on default headers and you can even choose whether to fail on the first parse error or handle errors on a row-by-row basis.
A common use-case is to stream CSV-encoded data in from a file. You
may be tempted to use
readFile from streaming-bytestring to obtain
the file contents, but if you do you're likely to run into exceptions
hGetBufSome: illegal operation (handle is closed).
The recommended solution is to use the streaming-with package for the IO aspects. You can then write something like:
withBinaryFileContents \"myFile.csv\" $ doSomethingWithStreamingCSV . 'decodeByName'
Revision history for streaming-cassava
0.1.0.1 -- 2018-01-23
Bump dependency on
Document what to do with
0.1.0.0 -- 2017-06-30
- First version.