【问题标题】:How NOT to overwrite the .mat file when using scipy.io.savemat()?使用 scipy.io.savemat() 时如何不覆盖 .mat 文件?
【发布时间】:2015-01-13 19:39:42
【问题描述】:

我一直在使用 Python 的 scipy.io.savemat() 将我的数据保存为 .mat 格式,这是在两者之间传输数据的有效方式:http://docs.scipy.org/doc/scipy-0.9.0/reference/tutorial/io.html

不知何故,它覆盖了文件。如何设置函数以便我可以附加到 .mat 文件而不是像 MATLAB save() 的“-append”选项那样覆盖?或者除了 scipy.io.savemat() 之外还有什么方法可以解决吗?

【问题讨论】:

    标签: python matlab scipy append


    【解决方案1】:

    似乎没有办法附加scipy.io.savemat()

    您可以scipy.io.loadmat(),将您的新值附加到返回的字典中,然后再次调用scipy.io.savemat()

    这是scipy.io.loadmat()的文档:

    http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.io.loadmat.html

    【讨论】:

    • 这并不像看起来那么容易,根据相关票证:savemat() append to file #2967
    • 对于简单的文件内容,savemat 适用于以附加模式打开的文件。当.mat 包含 MATLAB 函数时,就会出现问题。
    • 感谢两位解决问题,目前看来我们必须坚持下去。
    • 摆脱旧的 mat 格式并改用 hdf5 的另一个原因。自 7.3 版以来,mat 文件可以是 gzip 压缩的 hdf5 文件。
    • 嗨@hpaulj,关于.mat contans matlab functions是什么意思?
    猜你喜欢
    • 1970-01-01
    • 2011-01-09
    • 2020-08-29
    • 1970-01-01
    • 2011-07-07
    • 2020-02-02
    • 2011-09-02
    • 2014-06-13
    • 2019-01-02
    相关资源
    最近更新 更多