implemented slurpRawLabelledCSV

This commit is contained in:
Jonathan Lamothe 2022-04-21 22:27:03 -04:00
parent 51784123cd
commit 724dfe0345

View File

@ -30,6 +30,7 @@ module Data.CSV.Sip (
slurpCSV,
slurpRawCSV,
slurpLabelledCSV,
slurpRawLabelledCSV,
-- * Conduits
labelFields,
decodeRows,
@ -84,6 +85,15 @@ slurpLabelledCSV
slurpLabelledCSV file = runConduit $
sourceFile file .| decodeRows .| labelFields .|consume
-- | read an entire CSV file with a header
slurpRawLabelledCSV
:: MonadResource m
=> FilePath
-- ^ the path to the file to read
-> m [M.Map BS.ByteString BS.ByteString]
slurpRawLabelledCSV file = runConduit $
sourceFile file .| decodeRawRows .| labelFields .|consume
-- | read a CSV stream, using the first row as a header containing
-- field labels
labelFields :: (Monad m, Ord a) => ConduitT [a] (M.Map a a) m ()