我有一个用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
也许还有其他功能可以读取文件?
答案 0 :(得分:3)
Julia JLD文件具有HDF5格式,因此您可以使用例如h5py
像这样:
import h5py
f = h5py.File("filename", "r")
f["input"].value, f["output"].value
文件还将包含条目_creator
,其中元数据由Julia保存。
请注意,Julia以列主序存储数据,而不是numpy
使用的行主序存储数据,因此,如果您以这种方式读取矩阵,则会对它们进行转置。