我在 Julia 中使用 JLD Package 创建了一个数据库
这个数据库包含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 中加载这些数组?
编辑
我试着做一个 Julia 的等价物:
data = open("file_path")["input"]
但是有这个错误:
TypeError: '_io.TextIOWrapper' object is not subscriptable
也许还有其他读取文件的功能?
Julia JLD 文件具有 HDF5 格式,因此您可以使用例如h5py
像这样:
import h5py
f = h5py.File("filename", "r")
f["input"].value, f["output"].value
该文件还将包含一个条目 _creator
,其中元数据由 Julia 保存。
请注意,Julia 以列优先顺序存储数据,这与 numpy
使用的行优先顺序相反,因此如果您以这种方式读取矩阵,它们将被转置。
我是一名优秀的程序员,十分优秀!