使用 scipy.io.savemat MATLAB 保存 Numpy 数组不会生成必要的 .mat 文件

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

我编写了一个使用 scipy.io.savemat() 将 NumPy 数组转换为 mat 文件的函数,但它生成了一种通用类型的文件:具有相同名称但不是预期类型的​​ .mat 的文件。我要保存的数组是 类型,由 print 语句验证。我不知道可能是什么问题。

 
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)

关于 documentation,我认为您应该在文件名中添加“.mat”(在您的例子中是 file_path)。 通过替换

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

with

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

你的问题应该已经解决了。