2015-05-05 16 views
7

Sto cercando di accedere ad alcuni numeri complessi che ho scritto in un file CSV a Julia, ma ho difficoltà a fargli riconoscere. Per capire cosa sta succedendo, si consideri il seguenteCome caricare un file csv con numeri complessi in julia?

a = [1+2.3im, 2.3+0im] 
writecsv("test.csv",a) 
b = readcsv("test.csv") 

Ora, se io interrogare i tipi

julia> typeof(b) 
Array{Any,2} 

julia> typeof(a) 
Array{Complex{Float64},1} 

E non riesco a utilizzare gli elementi di b numeri complessi, proprio come una stringa. (b[1] è "1.0 + 2.3im", ad esempio).

risposta

8

Ecco un modo:

julia> b = map(x->eval(parse(x)),readcsv("test.csv")) 
2x1 Array{Complex{Float64},2}: 
1.0+2.3im 
2.3+0.0im 
+0

E poiché questo è valutare codice dal file, si dovrebbe avere estremamente alta fiducia che il file contiene solo ciò che vi aspettate. – rickhg12hs

Problemi correlati