ConsistentC
ConsistentC

Reputation: 65

Saving Numpy array using scipy.io.savemat MATLAB does not produce the necessary .mat file

I have written a function to convert a NumPy array into a mat file using scipy.io.savemat() but it produces a generic type of file: File with the same name but not of type .mat as expected. The array I want to save is of type <class 'numpy.ndarray'> as verified by the print statement. I don't know what may be the issue.

 
import os
import scipy.io

def save_electrode_measurement_to_matfile( measurement: np.ndarray, file_name: str = 'latest_electrode_measurement'):
    print(type(measurement))
    mdict = { 'electrode_measurement' : measurement}
    dir = r"...\Simulation_results"
    file_path = os.path.join(dir, file_name)
    scipy.io.savemat(file_path, mdict, appendmat = True)

Upvotes: 0

Views: 1072

Answers (1)

Markh
Markh

Reputation: 53

Refering to the documentation, I think that you should add '.mat' to the filename (which is the file_path in your case). By replacing

file_path = os.path.join(dir, file_name)

with

file_path = os.path.join(dir, file_name) + ".mat"

Your problem should be solved.

Upvotes: 0

Related Questions