Python’s SciPy package has a function that saves Python variable into MATLAB’s .mat
file
https://docs.scipy.org/doc/scipy/reference/generated/scipy.io.savemat.html
However, the documentation lacks examples, and I don’t know what is the dictionary of variables it wants as an input.
Say I have a 2D NumPy array A
and a 3D NumPy array B
, how do I save them into a .mat
file called my_arrays.mat
?
Can I save multiple variables in .mat
or do I need a file to each variable?
How to read .mat
files into Python and how do I know to reach variables they have been loaded?
Advertisement
Answer
Examples for saving and loading
import scipy.io as sio # dummy data A = np.random.randint(0,10,100) B = np.random.randint(0,10,100) # collect arrays in dictionary savedict = { 'A' : A, 'B' : B, } # save to disk sio.savemat('my_arrays.mat', savedict) #load from disk data = sio.loadmat('my_arrays.mat') # alternative way to load from disk: data = {} sio.loadmat('my_arrays.mat', mdict=data)