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

时间:2015-06-23 21:04:58

标签: file parsing julia

我已经看到Julia充分地解释了“MAT”文件,这些文件中有结构,这些文件被读作字典而没有问题。现在我已经创建了一个我自己的字典,它具有以下结构

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

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

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

即两列字符串,其中包含'"''['等符号。

2 个答案:

答案 0 :(得分:6)

您可以使用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模块的优势在于它保留了每个变量的精确类型信息。

答案 1 :(得分:1)

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