анализиране (Float64, пътуване) - грешка: не може да анализира пътуването като Float64

Кодът, който използвам:

for trip in df[:Polyline]
      trip = parse(Float64,trip)  |> eval
end

Грешката, която получавам:

грешка: не може да анализира пътуването като Float64

пътуването е низ като [[-8.764913,6.461675],[7.461345,9.754319]]


person cww    schedule 11.12.2018    source източник
comment
Добре дошли в Stack Overflow! За да ви дадем чудесен отговор, може да ни помогнете, ако хвърлите един поглед на Как да попитам, ако не сте т вече. Може също да е полезно, ако можете да предоставите пример за минимално възпроизводимо.   -  person Mat    schedule 11.12.2018


Отговори (1)


Не предоставихте минимален работещ пример във въпроса си (опитайте се да го редактирате!). Това обаче е, което разбирам, че имате нужда.

Да предположим, че имате String:

trip = "[[-8.7,6.4],[7.4,9.7],[3.4,2.1]]"

Използвайте пакет JSON.jl, за да го анализирате:

julia> using JSON

julia> JSON.parse(trip)
3-element Array{Any,1}:
 Any[-8.7, 6.4]
 Any[7.4, 9.7]
 Any[3.4, 2.1]

Вместо това може да предпочетете да имате Array от Float64s:

julia> Vector{Float64}.(JSON.parse(trip))
3-element Array{Array{Float64,1},1}:
 [-8.7, 6.4]
 [7.4, 9.7]
 [3.4, 2.1]
person Przemyslaw Szufel    schedule 11.12.2018