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



我已经看到Julia充分地解释了"MAT";其中具有结构的文件可以毫无问题地作为字典读取。现在我创建了一个自己的字典,它有以下结构

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

在每个条目上。我可以用writedlm保存它,它会产生非常有序的表格文本文件,用制表符分隔(t),但如果不进行大量解析,我就无法检索它。如果我使用readdlm,我会得到一个类型为Any的数组,每行的结构都非常不舒服

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

也就是说,Strings的两列包含诸如'"''['之类的符号。

您可以使用HDF5包中包含的JLD(Julia Data)子模块:

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"]

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

SalchiPapa建议的使用JLD的解决方案由于某种原因不再有效。以下是使用JLD2:的示例的更新版本(刚刚更改了导入和文件扩展名)

using JLD2, FileIO
d = Dict(
        ("a", "b") => [1, 2, 3],
        ("c", "d") => [4, 5, 6],
        ("e", "f") => [7, 8, 9]
    )
save("data.jld2", "data", d)
load("data.jld2")["data"]

相关内容

  • 没有找到相关文章

最新更新