timeseries-0.4.1: src/Data/TimeSeries/IO/CSVWriter.hs
{-# LANGUAGE OverloadedStrings #-}
{-|
Module: Data.TimeSeries.IO.CSVWriter
Copyright: (c) 2016 Krzysztof Langner
License: BSD3
Stability: experimental
Portability: portable
Write Time Series to the csv file.
-}
module Data.TimeSeries.IO.CSVWriter( saveCSV ) where
import Prelude hiding (writeFile)
import Control.Arrow (first)
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 (first formatISODateTime) (toList ts)
let rs' = encode rs
writeFile filePath rs'