我工作的一个Jupyter笔记本电脑和目前使用朱莉娅如何在Julia(或Python)中将NxNxN数组(或Matrix)保存到文件中?
我想一个3x3x3的数组保存到文本文件里,所以当我包括它在另一个笔记本,该阵列是一个3x3x3的数组了。
有什么建议吗? 在此先感谢。
我工作的一个Jupyter笔记本电脑和目前使用朱莉娅如何在Julia(或Python)中将NxNxN数组(或Matrix)保存到文件中?
我想一个3x3x3的数组保存到文本文件里,所以当我包括它在另一个笔记本,该阵列是一个3x3x3的数组了。
有什么建议吗? 在此先感谢。
您可以使用JLD.jl(朱莉娅数据)包:
Pkg.add("JLD")
using JLD
r = rand(3, 3, 3)
save("data.jld", "data", r)
load("data.jld")["data"]
的JLD封装的优点在于,它保留了确切的每个变量的类型信息。
不要忘记''Pkg.add(“JLD”)'' – jjjjjj
@jjjjjj我已更新答案,谢谢! – SalchiPapa
好吧我承认我是一个蟒蛇爱好者,尽管朱莉娅开始在我身上成长。所以作为一个老的python用户,有一个Julia包可以将数组转换为numpy npz文件,然后再读取它们。例如:
x = reshape(1:27, 3,3,3)
Pkg.add("NPZ")
using NPZ
npzwrite("TEST.npz",x)
现在(我现在用的是NPZ包这么长),我以后可以加载此文件:
y = npzread("TEST.npz")
谢谢!我最终使用HDF5.jl包来存储我的数组,因为它可以节省维度和类型。我相信它几乎与NPZ相同,但HDF5有一个适当的Julia数据扩展名(.jld),所以它对我更好 –
你需要它在纯文本?如果没有,你可能想看看HDF5.jl包。 – spencerlyon2
您可以使用'writecsv' /'readcsv'保存值,但不保存维或类型(整数将被解析为浮点)。不知道你是否介意铸造和重塑。 'convert(Array {Int64},reshape(readcsv(“vals”),3,3,3))' –
我正在使用'writecsv',但正如你所说的,它没有保存尺寸或类型。我查看了HDF5.jl包,这正是我所需要的。谢谢! –