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

kaffeepause73 kaffeepause73 at yahoo.de
Wed Jun 15 14:48:09 CEST 2011


Hey guys, 

thanks for the very quick help. The code works and looks like:
(any tips regards speed and memory usage ?)  


import System.IO
import Data.Array
import Data.Packed.Matrix

parse :: String -> [[Double]] -- expects plainer syntax
parse = map (map read . words) . lines



main = do 
     -- read and show plain text
     text <- readFile "./log.txt" 
     putStrLn text 
     
     -- read and show parsed list of lists
     putStrLn "parsed list of lists"
     let m = parse text 
     putStrLn (show m) 
     
     -- convert to matrix and show
     let a = fromLists m    
     putStrLn (show a) 
     
     -- cuts out first row to get signal
     let t = takerows 1 m
     putStrLn (show t)

     putStrLn "Finish"


kaffeepause73 wrote:
> 
> 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-tp4490870p4491087.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.



More information about the Haskell-Cafe mailing list