如何将列表从 Python 转移到 Julia?
How to transfer list from Python to Julia?
在 Python 中,我创建了一个 3d 数据列表,我想在 Julia 中访问它。我想知道如何方便地做到这一点。如果通过写入文本文件来做,如何从 julia 解析它?或者也许有专门的解决方案,例如 feather
for dataframes?
例如,在python中:
a = [[[0, 1]], [[1, 0.5], [2, 0.5]]]
save_to_convenient_for_parsing_file(a, filename)
朱莉娅:
a = read_from_convenient_for_parsing_file(filename)
a
>2-element Vector{Vector{Vector{Float64}}}:
[[0.0, 1.0]]
[[1.0, 0.5], [2.0, 0.5]]
在那个例子中,save_to_convenient_for_parsing_file
和 read_from_convenient_for_parsing_file
应该是什么样子?
在 Python 中存储对象的最自然方法之一是 pickle,它在 Julia 中受支持:
import pickle
with open("a.pkl","wb") as f:
pickle.dump(a,f)
现在您可以:
julia> using Pickle
julia> Pickle.load("a.pkl")
2-element Vector{Any}:
Any[Any[0, 1]]
Any[Any[1, 0.5], Any[2, 0.5]]
请注意,Python 列表的等价物是 Any
值的 Julia 向量,因为 Python 中的列表未键入。
更通用的格式是 BSON:
import bson
with open("a.bson","wb") as f:
f.write(bson.dumps({"a":a}))
julia> using BSON
julia> BSON.load("a.bson")
Dict{Symbol, Any} with 1 entry:
:a => Any[Any[Any[0, 1]], Any[Any[1, 0.5], Any[2, 0.5]]]
在 Python 中,我创建了一个 3d 数据列表,我想在 Julia 中访问它。我想知道如何方便地做到这一点。如果通过写入文本文件来做,如何从 julia 解析它?或者也许有专门的解决方案,例如 feather
for dataframes?
例如,在python中:
a = [[[0, 1]], [[1, 0.5], [2, 0.5]]]
save_to_convenient_for_parsing_file(a, filename)
朱莉娅:
a = read_from_convenient_for_parsing_file(filename)
a
>2-element Vector{Vector{Vector{Float64}}}:
[[0.0, 1.0]]
[[1.0, 0.5], [2.0, 0.5]]
在那个例子中,save_to_convenient_for_parsing_file
和 read_from_convenient_for_parsing_file
应该是什么样子?
在 Python 中存储对象的最自然方法之一是 pickle,它在 Julia 中受支持:
import pickle
with open("a.pkl","wb") as f:
pickle.dump(a,f)
现在您可以:
julia> using Pickle
julia> Pickle.load("a.pkl")
2-element Vector{Any}:
Any[Any[0, 1]]
Any[Any[1, 0.5], Any[2, 0.5]]
请注意,Python 列表的等价物是 Any
值的 Julia 向量,因为 Python 中的列表未键入。
更通用的格式是 BSON:
import bson
with open("a.bson","wb") as f:
f.write(bson.dumps({"a":a}))
julia> using BSON
julia> BSON.load("a.bson")
Dict{Symbol, Any} with 1 entry:
:a => Any[Any[Any[0, 1]], Any[Any[1, 0.5], Any[2, 0.5]]]