A flexible, fast, conduit-based CSV parser library for Haskell.
CSV files are the de-facto standard in many situations involving data
transfer, particularly when dealing with enterprise application or
disparate database systems.
While there are a number of CSV libraries in Haskell, at the time of
this project's start in 2010, there wasn't one that provided all of
the following:
- Full flexibility in quote characters, separators,
input/output
- Constant space operation
- Robust parsing, correctness and error resiliency
- Convenient interface that supports a variety of use cases
- Fast operation
This library is an attempt to close these gaps. Please note that this
library started its life based on the enumerator package and has
recently been ported to work with conduits instead. In the process, it
has been greatly simplified thanks to the modular nature of the
conduits library.
Following the port to conduits, the library has also gained the
ability to parameterize on the stream type and work both with
ByteString and Text.
For more documentation and examples, check out the README at:
http://github.com/ozataman/csv-conduit