如何在Julia中导出/导入数组,实现不同版本间的数据迁移
Julia跨版本数组导出导入操作方案
下面给你两种兼容性经过验证的操作方案,你可以根据自己的场景选择:
方案1:使用JLD2包存储(推荐,直接保留数组对象属性,无需额外类型转换)
导出操作(Julia 1.3.1 笔记本端执行)
- 首先安装兼容Julia 1.3.1的JLD2版本,在REPL中输入
]进入包管理模式,执行:add JLD2@0.4.22 - 完成安装后执行导出代码:
using JLD2 # vector为你之前通过eigen得到的数组变量 save("eigen_vector.jld2", "vector", vector) - 执行完成后将生成的
eigen_vector.jld2文件拷贝到台式电脑即可。
导入操作(Julia 1.6.2 台式机端执行)
- 同样先在REPL包管理模式下执行
add JLD2安装对应版本的包 - 执行导入代码读取数组:
using JLD2 vector = load("eigen_vector.jld2", "vector")
方案2:CSV纯文本存储(无额外包依赖,适合简单数值数组场景)
如果不想安装第三方包,可以用Julia标准库的DelimitedFiles实现存储:
导出操作(Julia 1.3.1端)
using DelimitedFiles writedlm("eigen_vector.csv", vector, ',')
导入操作(Julia 1.6.2端)
using DelimitedFiles # 元素类型根据你实际数组的类型调整,复数数组可改为ComplexF64 vector = readdlm("eigen_vector.csv", ',', Float64)
注意:不要使用Julia原生的
serialize/deserialize函数做跨版本存储,该函数仅为同版本Julia进程间交互设计,跨大版本大概率出现解析失败的兼容性问题。
内容的提问来源于stack exchange,提问作者yosuga
相关产品推荐
相关产品推荐

