[Haskell-cafe] Data import from octave / text file

Victor Gorokgov me at rkit.pp.ru
Wed Jun 15 13:42:57 CEST 2011


read :: String ->  [[Double]] can't read this format. It expects "[[0,30,9],[0.1,30,9],...]"

use this code
let m = map f text :: [[Double]]
     f a = map g $ lines a
     g a = map read $ words a


15.06.2011 15:13, kaffeepause73 пишет:
> Dear all,
>
> I want to read numeric data in vector / matrix format generated by octave.
> As I haven't seen any octave specific libraries yet (only matlab), I'm
> tyrying the way via ascii - file.
>
> The folloing file log.txt contains three signal traces in the three columns
> (time, signal 1, signal 2)
>
>   0 30 9
>   0.1 30 9
>   0.2 30 9
>   0.3 30 9
>   0.4 30 9
>   0.5 30 9
>   0.6000000000000001 30 9
>   0.7000000000000001 30 9
>   0.8 30 9
>   0.9 30 9
>   1 30 9
>
> I got the following bit of code compiled with ghc:
>
> import System.IO
>
> main = do
>       text<- readFile "./log.txt"
>       putStrLn text
>
>       putStrLn "SecondLot"
>
>       let m = read text :: [[Double]]
>       putStrLn (show m)
>
>       putStrLn "Finish"
>
> Reading text works, but not reading text into m. The Output:
>
>   0 30 9
>   0.1 30 9
>   0.2 30 9
>   0.3 30 9
>   0.4 30 9
>   0.5 30 9
>   0.6000000000000001 30 9
>   0.7000000000000001 30 9
>   0.8 30 9
>   0.9 30 9
>   1 30 9
>
> SecondLot
> signalImport: Prelude.read: no parse
>
> Any suggestions ? - Thanks in advance.
>
> --
> View this message in context: http://haskell.1045720.n5.nabble.com/Data-import-from-octave-text-file-tp4490870p4490870.html
> Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe




More information about the Haskell-Cafe mailing list