[Haskell-cafe] implementing a csv reader
Robert Dockins
robdockins at fastmail.fm
Wed Aug 23 16:24:25 EDT 2006
On Aug 23, 2006, at 3:37 PM, Henk-Jan van Tuyl wrote:
>
> L.S.,
>
> Reading and writing a comma seperated datafile doesn't have to be
> that complicated; the following is an easy way to read a CSV file
> into a list of tuples and display the list on screen:
"For every complex problem, there is a solution which is simple,
neat, and wrong." -- HL Mencken
Although it seems straightforward at first, CSV suffers from text
escaping complexities, just as does every other general purpose plain-
text encoding. Most notably, a newline embedded inside double quotes
does not end a record. These issues cause ugly corner cases if you
aren't expecting them. And that's just the issues with moving tables
of strings around; if those fields have non-string interpretations
(dates or numbers or what have you), things get really hairy. To do
the "right thing" probably requires perl-ish duck typing :-p
See http://www.creativyst.com/Doc/Articles/CSV/CSV01.htm for a semi-
authoritative reference on CSV. A related RFC is here: http://
tools.ietf.org/html/rfc4180
Rob Dockins
Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
-- TMBG
More information about the Haskell-Cafe
mailing list