Can anybody recommend a way to parse CSV files with options to:
I can't recommend a ready-to-go, packaged-up CSV parser for Haskell, but I remember that the book Real-World Haskell by Bryan O'Sullivan et al. contains a chapter on Parsec, which the authors demonstrate by creating a CSV parser.
The relevant chapter 16: Using Parsec is available online; check the section titled Extended Example: Full CSV Parser.