@hackage streaming-cassava0.1.0.2
Cassava support for the streaming ecosystem
Categories
License
MIT
Maintainer
Ivan.Miljenovic@gmail.com
Links
Versions
Installation
Tested Compilers
Dependencies (7)
- base >=4.8 && <5
- bytestring
- cassava >=0.5 && <0.6
- mtl
- streaming >=0.1.1.0 && <0.3
- streaming-bytestring <0.2 Show all…
Dependents (6)
@hackage/hierarchical-spectral-clustering, @hackage/acme-everything, @hackage/datasets, @hackage/testbench, @hackage/too-many-cells, @hackage/streamly-cassava
streaming-cassava
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.
Reading data from file
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, and for simple cases this should suffice. However,
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'