在Python中加载JLD文件

时间:2018-06-26 16:00:06

标签: python julia

我有一个用JLD Package

在Julia中创建的数据库

此数据库包含2个元素:输入和输出

在julia中,我可以用以下代码加载它:

using JLD

data_in = load("file_path")["input"]
1×5 Array{Int64,2}:
 1  2  3  4  5

data_out = load("file_path")["output"]
1×5 Array{Int64,2}:
 3  6  9  12  15

我想在Python中加载这些数组。我尝试了以下操作(在Python中):

filename = "file_path"

data = open(filename, r)

数据返回以下内容:

data
<_io.TextIOWrapper name='file_path' mode='r' encoding='UTF-8'>

之后,我阅读了说明如何read a file的文档。不过,如果我运行以下命令:

print(data.readlines())

我只有这个输出:

[]

是否可以在Python中加载这些数组?

编辑

我试图做相当于朱莉娅的事情:

data = open("file_path")["input"]

但是有此错误:

TypeError: '_io.TextIOWrapper' object is not subscriptable

也许还有其他功能可以读取文件?

1 个答案:

答案 0 :(得分:3)

Julia JLD文件具有HDF5格式,因此您可以使用例如h5py像这样:

import h5py
f = h5py.File("filename", "r")
f["input"].value, f["output"].value

文件还将包含条目_creator,其中元数据由Julia保存。

请注意,Julia以列主序存储数据,而不是numpy使用的行主序存储数据,因此,如果您以这种方式读取矩阵,则会对它们进行转置。