【问题标题】:How to extract data from Matlab .fig files in Python?如何从 Python 中的 Matlab .fig 文件中提取数据?
【发布时间】:2015-06-15 16:08:19
【问题描述】:

如果我在 Matlab .fig 文件中保存了一些 X vs Y 数据,有没有办法在 Python 中提取这些数据?我试过使用previous discussion 中显示的方法,但这对我不起作用。我也尝试使用 h5py 和 PyTables 打开文件,因为 .mat 文件现在实际上是 HDF5 文件,但这会导致无法找到有效文件签名的错误。

目前我正在尝试使用 Python 3.4 的 Anaconda 发行版来做到这一点。

编辑:我设法找出一些可行的方法,但我不知道为什么。这让我担心将来可能会出现问题,我将无法调试它。如果有人能解释为什么这行得通,但旧讨论中的方法我不会真的很感激。

from scipy.io import loadmat
d = loadmat('linear.fig', squeeze_me=True, struct_as_record=False)
x = d['hgS_070000'].children.children.properties.XData
y = d['hgS_070000'].children.children.properties.YData

【问题讨论】:

    标签: python matlab python-3.x file-io hdf5


    【解决方案1】:

    我能想到的最好方法是使用任何 Matlab-Python 桥接器(例如 pymatbridge)。

    您可以直接在 python 文件上调用 Matlab 代码并将数据从一种转换为另一种。您可以使用一些 Matlab 代码来加载无花果并提取数据,然后轻松地将数值变量转换为 python 数组(或 numpy 数组)。

    【讨论】:

    • 这是一个接口,是不是也需要Matlab?我的项目的一个目标是独立于 Matlab。只是需要分析的相关数据目前都保存在.fig文件中,当时比较方便。
    • @MattCrank 是的,你确实需要 Matlab。我假设您可以像使用无花果图像一样使用它。希望你能找到办法!祝你好运
    猜你喜欢
    • 2011-02-27
    • 2017-09-19
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多