2015-05-05 2 views
7

Я пытаюсь получить доступ к некоторым сложным номерам, которые я написал в файл csv в julia, но у меня возникли проблемы с его распознаванием. Для того, чтобы понять, что происходит, рассмотрим следующийКак загрузить CSV-файл с комплексными номерами в julia?

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

Теперь, если я опрашивать типы

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

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

И я не могу использовать элементы b как комплексные числа, так же как строка. (b[1] является "1.0 + 2.3im", например).

ответ

8

Вот один из способов:

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

И поскольку это оценка кода из файла, вы должны иметь очень высокую уверенность, что файл содержит только то, что вы ожидаете. – rickhg12hs

Смежные вопросы