且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在 Julia 中保存和检索字典的正确方法是什么?

更新时间:2022-12-18 09:28:50

您可以使用 HDF5 包:

Pkg.add("HDF5")使用 HDF5、JLDd = 字典(("a", "b") =>[1, 2, 3],("c", "d") =>[4, 5, 6],("e", "f") =>[7、8、9])保存(数据.jld",数据",d)加载(数据.jld")[数据"]

JLD 模块的优点是它保留了每个变量的准确类型信息.

I have seen that Julia adequately interprets "MAT" files which have structures in them which are read as dictionaries without problem. Now I have created a dictionary of my own, which has the following structure

(String, String)=> [ Int, Int, Int]

on each entry. I can save it with writedlm and it produces a very orderly tabular text file, separated by tabs ( ), but then I cannot retrieve it without doing a LOT of parsing. If I use readdlm I get an array of type Any, with the very uncomfortable structure at each line

"("Bla bla", "tururu")"     "[a, b, c]"

That is, two columns of Strings which contain signs such as '"' and '['.

You could use the JLD (Julia Data) submodule included in the HDF5 package:

Pkg.add("HDF5")
using HDF5, JLD
d = Dict(
    ("a", "b") => [1, 2, 3],
    ("c", "d") => [4, 5, 6],
    ("e", "f") => [7, 8, 9]
)
save("data.jld", "data", d)
load("data.jld")["data"]

the advantage of the JLD module is that it preserves the exact type information of each variable.