Python: Issue reading in str from MATLAB .mat file using h5py and NumPy

I want identical output as in MATLAB. Instead I have had issues trying to solve this. See below for Python code and output.

# Import numpy and h5py to load in .mat files
import numpy as np
import h5py 

Load in Matlab (‘-v7.3’) data

fname = ‘directory/file.mat’
f = h5py.File(fname,‘r’)

create dictionary for data

data= {“average”:np.array(f.get(‘average’)),“median”:np.array(f.get(‘median’)),
“stdev”:np.array(f.get(‘stdev’)),“P10”:np.array(f.get(‘p10’)),
“P90”:np.array(f.get(‘p90’)),“St”:np.str(f.get(‘stime’)),
“Et”:np.str(f.get(‘etime’))}

All other variables are arrays

print(data[“Et”])

output:

<HDF5 dataset “etime”: shape (1, 6), type “<u4”>

I want to have a string in python equal to the string in MATLAB. In other words, I want print(data[“Et”]) = ‘01011212000000’ which is the date and time.

How can I solve this?

#python #string #matlab #numpy

3 Likes22.25 GEEK