python - 在不使用字典的情况下从 Python 创建 *.mat 文件

标签 python matlab dictionary scipy mat-file

我有几个列表,我想将其保存到 *.mat 文件。但根据 scipy.io.savemat 命令文档,我需要使用列表创建一个字典,然后使用该命令将其保存到 *.mat 文件中。

如果我按照文档中提到的方式保存它,mat 文件将具有包含变量的结构,作为我在字典中使用的数组。现在我有一个问题,我有另一个程序(不可编辑)将使用 mat 文件并加载它们以根据数据绘制一些图表。该程序无法处理该结构,因为它的编写方式是如果加载一个 mat 文件,然后它将直接处理其中的数组。

那么有没有一种方法可以在不使用字典的情况下保存mat文件?请查看图片以了解更多信息 *.mat file with struct

*.mat file without struct

谢谢

这是我用来保存 *.mat 文件的示例算法

import os
os.getcwd()
os.chdir(os.getcwd())
import scipy.io as sio

x=[1,2,3,4,5]
y=[234,5445,778] #can be 1000 lists

data={}

data['x']=x
data['y']=y
sio.savemat('test.mat',{'interpolated_data':data})

最佳答案

怎么样

scipy.io.savemat('interpolated_data_max_compare.mat', 
                 {'NA1_X_order10_ACCE_ms2': np.zeros((3000,1)),
                  'NA1_X_order10_DISP_mm': np.ones((3000,1))})

应该可以正常工作...

根据您在问题中添加的代码,而不是sio.savemat('...', {'interpolated_data':data}),只需保存

sio.savemat('...', data)

你应该没问题:data已经是一个字典,你不需要在保存时使用{'interpolated_data': data}添加额外的级别。

关于python - 在不使用字典的情况下从 Python 创建 *.mat 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44543111/

相关文章:

python - 解释(和比较)numpy.correlate 的输出

python - 使用 for 循环创建数据副本

python - 对 configObj 部分的选择性迭代

matlab - 如何将(值的)标签添加到我的 MATLAB 图的顶部?

matlab - 灰度分割/特征提取/ Blob 检测?

algorithm - 简化省份生成

python - 使用软连接逻辑加速字典合并

python - 返回在 tkinter 列表框中单击的项目的索引

python - 在 Python 中解析 XML - 找到 child

python - 将 HDF 5 文件读入 Pandas 时,如何避免字符串被读取为字节?