如何使用 sio.savemat 函数保存多个数据集?

Posted

技术标签:

【中文标题】如何使用 sio.savemat 函数保存多个数据集?【英文标题】:How to save multiple data sets with the sio.savemat function? 【发布时间】:2016-08-15 13:45:42 【问题描述】:

我在 python 中创建了一个读取多个文件的代码(读取其中的特定部分),我的目标是将所有这些数据点保存为 matlab 格式。这是我的“主程序”(所有功能都在前面定义过):

【问题讨论】:

大多数save函数的正常操作是写入一个新文件,覆盖任何同名文件。一些用户友好的命令会询问您是否要覆盖。否则,您必须采取特殊措施来打开appending 的文件。正如答案所发现的那样,可以附加到复杂数据结构(如.mat)的内容是有限的。 【参考方案1】:

这个question 是关于如何使用savemat 追加数据。看起来那个提问者说你只能将数据附加到现有的字典键,所以它可能无法解决你的问题。

我建议将数据添加到字典中,然后在最后将其全部保存到 mat 文件中。

在循环外初始化一个字典

myDictionary = 

您有一行代码可以创建字典并保存它。

sio.savemat('Argo_Trajectories.mat', 'data':data)

用两行替换该行:创建一个唯一键而不是将它们命名为所有数据并将数据添加到字典中

newkey = 'data%d' % ifl
myDictionary[newkey] = data

循环结束后,保存字典(这可以在你的函数中的第二个print(z)之前或之后

sio.savemat('savename.mat',myDictionary)

【讨论】:

首先,感谢您的回答!听起来它会起作用,我要试试这个,但在我做之前我有一个问题。我将编辑我的问题并添加我的数据处理功能,因为我不完全确定您希望我将您发布的第二个和第三个命令放在哪里。我应该将它们插入循环还是函数(我稍后会发布)?再次感谢

以上是关于如何使用 sio.savemat 函数保存多个数据集?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用多个 Django FBV 通过 Ajax+jQuery 捕获和保存数据

迭代多个数据帧并执行数学函数保存输出

如何在列表中保存多个饼图?

如何从同一资源运行两个函数(绘图图形并将无限数据保存到txt文件)

如何在递归函数中保存多个输出

cakePHP 使用 hasMany 函数保存所有数据