timeseries-0.2.0: src/Data/TimeSeries/IO/CSVWriter.hs
{-# LANGUAGE OverloadedStrings #-}
module Data.TimeSeries.IO.CSVWriter( saveCSV ) where
import Prelude hiding (writeFile)
import Data.Csv
import Data.ByteString.Lazy (writeFile)
import Data.Text.Time ( formatISODateTime )
import Data.TimeSeries.Series ( Series
, toList )
-- | Load data from CSV file and create Time Series from it
-- As a first argument provide function to convert date from ByteString to UTCTime
saveCSV :: Series Double -> FilePath -> IO ()
saveCSV ts filePath = do
let rs = map (\(x, y) -> (formatISODateTime x, y)) (toList ts)
let rs' = encode rs
writeFile filePath rs'