implemented slurpLabelledCSV
This commit is contained in:
parent
35130eeae1
commit
51784123cd
|
@ -29,6 +29,7 @@ module Data.CSV.Sip (
|
|||
-- * Read an entire CSV file
|
||||
slurpCSV,
|
||||
slurpRawCSV,
|
||||
slurpLabelledCSV,
|
||||
-- * Conduits
|
||||
labelFields,
|
||||
decodeRows,
|
||||
|
@ -74,6 +75,15 @@ slurpRawCSV
|
|||
-> m [[BS.ByteString]]
|
||||
slurpRawCSV file = runConduit $ sourceFile file .| decodeRawRows .| consume
|
||||
|
||||
-- | read an entire CSV file with a header
|
||||
slurpLabelledCSV
|
||||
:: MonadResource m
|
||||
=> FilePath
|
||||
-- ^ the path to the file to read
|
||||
-> m [M.Map T.Text T.Text]
|
||||
slurpLabelledCSV file = runConduit $
|
||||
sourceFile file .| decodeRows .| 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 ()
|
||||
|
|
Loading…
Reference in New Issue
Block a user