2014-06-18 19 views
8

Sono relativamente nuovo a Julia e sto cercando un modo efficiente per leggere da un file di testo e memorizzare ogni "colonna" in un array (ho 2 colonne, ma una soluzione generale sarebbe grande pure). Ad esempio, vorrei all'ingressoletto in array in Julia

1 2 
    3 4 
    5 6 

da leggere in due array, per esempio, xey, tale che x = [1 3 5] ey = [2 4 6]. Ho una soluzione funzionante (potrebbe non essere compilata, solo a mano libera), ma mi sembra che ci sia un modo più efficiente per farlo rispetto a hcat e leggere il file di input riga per riga. Ogni suggerimento è molto apprezzato!

Attualmente, sto facendo quanto segue, più o meno:

x=[]; 
y=[]; 
f=open("filename"); 
f=readlines(f); 
for str in f 
    s1, s2= split(str, " "); 
    s1=int(s1); 
    s2=int(s2); 
    x=hcat(x, s1); 
    y=hcat(y, s2); 
end 
+0

Se la risposta è stata utile, si prega di accettarlo :) – Manuel

risposta

6

Ecco un modo.

julia> myarray=int(open(readdlm,"mynums.txt")) 
3x2 Array{Int32,2}: 
1 2 
3 4 
5 6 

julia> x=myarray[:,1] 
3-element Array{Int32,1}: 
1 
3 
5 

julia> y=myarray[:,2] 
3-element Array{Int32,1}: 
2 
4 
6