Error while reading .npy file: parsing header failed: unsupported type O
I'm using julia 0.6.1, installed NPZ by Pkg.add("NPZ")
I have a .npy file that created by numpy 1.14.3 on Ubuntu 16.04, Conda 4.4.10.
I get the following error trying to read it in
parsing header failed: unsupported type O
Stacktrace:
[1] parsedtype(::String) at /opt/anaconda3/share/julia/site/v0.6/NPZ/src/NPZ.jl:135
[2] parseheader(::String) at /opt/anaconda3/share/julia/site/v0.6/NPZ/src/NPZ.jl:157
[3] npzreadarray(::IOStream) at /opt/anaconda3/share/julia/site/v0.6/NPZ/src/NPZ.jl:191
[4] npzread(::String) at /opt/anaconda3/share/julia/site/v0.6/NPZ/src/NPZ.jl:218
Here is my file if you have time to take a look at. It's just a regular 1D, np.float64 array.
I think you have the wrong file? That file indeed contains a float64 (<f8) array, which I can load just fine in NPZ. However, you're getting an error about type O, which is the python object type.
Adding support for importing python objects inside julia is not an easy task.
I had the same problem and a get around that by using PyCall, like this:
using PyCall
np = pyimport("numpy")
data = np.load("data.npy", allow_pickle=true)
me too, I had the same problem and a get around that by using PyCall. npy save a Object type data, load use this allow_pickle=true, is OK. but NPZ.npzread() is unsupported type O
with the PyCall solution above, you then access the variables within an npz file using get(data, :my_variable_name)