[Haskell-cafe] Sneaking haskell in the workplace -- cleaning
csv files
Jim Burton
jim at sdf-eu.org
Fri Jun 15 18:31:36 EDT 2007
Sebastian Sylvan wrote:
> On 15/06/07, Jim Burton <jim at sdf-eu.org> wrote:
[snip]
> Hi,
Hi Sebastian,
> I haven't compiled this, but you get the general idea:
>
> import qualified Data.ByteString.Lazy.Char8 as B
> -- takes a bytestring representing the file, concats the lines
> -- then splits it up into "real" lines using the delimiter
> clean :: Char -> B.ByteString -> [B.ByteString]
> clean' d = B.split d . B.concat . B.lines
I think that would only work if there was one column per line...I didn't
make it clear that as well as being comma separated, the delimiter is
around each column, of which there are several on a line so if the
delimiter is ~ a file might look like:
~sdlkfj~, ~dsdkjf~ #eo row1
~sdf
dfkj~, ~dfsd~ #eo row 2
>
>
>
More information about the Haskell-Cafe
mailing list