Python scipy.io.loadmat用法及代码示例

用法: 加载 MATLAB 文件。

scipy.io.loadmat(file_name, mdict=None, appendmat=True, **kwargs)

参数

  • file_name: str

    mat 文件的名称(如果 appendmat==True,则不需要 .mat 扩展名)。也可以通过打开的file-like 对象。

  • mdict: 字典,可选

    在其中插入 matfile 变量的字典。

  • appendmat:布尔型,可选

    如果不存在,则将 .mat 扩展名附加到给定文件名的末尾。默认为真。

  • byte_order:str 或无,可选

    默认情况下无,暗示从 mat 文件中猜测的字节顺序。否则可以是(‘native’、’=’、‘little’、’<’、’BIG’、’>’)之一。

  • mat_dtype: 布尔型,可选

    如果为 True,则返回与加载到 MATLAB 相同 dtype 的数组(而不是保存它们的 dtype)。

  • squeeze_me: 布尔型,可选

    是否压缩单位矩阵维度。

  • chars_as_strings: 布尔型,可选

    是否将 char 数组转换为字符串数组。

  • matlab_compatible: 布尔型,可选

    返回将由 MATLAB 加载的矩阵(暗示 squeeze_me=False、chars_as_strings=False、mat_dtype=True、struct_as_record=True)。

  • struct_as_record: 布尔型,可选

    是否将 MATLAB 结构加载为 NumPy 记录数组,或者加载为 dtype=object 的 old-style NumPy 数组。将此标志设置为 False 会复制 scipy 版本 0.7.x 的行为(返回 NumPy 对象数组)。默认设置为 True,因为它允许更轻松地 round-trip 加载和保存 MATLAB 文件。

  • verify_compressed_data_integrity: 布尔型,可选

    是否应检查 MATLAB 文件中压缩序列的长度,以确保它们不会比我们预期的长。建议启用此函数(默认设置),因为 MATLAB 文件中过长的压缩序列通常表明文件已发生某种损坏。

  • variable_names: 无或序列

    如果 None (默认值) - 读取文件中的所有变量。否则,variable_names 应该是一个字符串序列,给出要从文件中读取的 MATLAB 变量的名称。阅读器将跳过名称不在此序列中的任何变量,可能会节省一些读取处理。

  • simplify_cells:错误的,可选的

    如果为 True,则返回简化的 dict 结构(如果 mat 文件包含元胞数组,这很有用)。请注意,这只影响结果的结构,而不影响其内容(这对于两个输出结构都是相同的)。如果为 True,这会自动将 struct_as_record 设置为 False,并将 squeeze_me 设置为 True,这是简化单元格所必需的。

返回

  • mat_dict: dict

    以变量名作为键的字典,并将加载的矩阵作为值。

注意

支持 v4(1.0 级)、v6 和 v7 到 7.2 的 matfile。

您将需要一个 HDF5 Python 库来读取 MATLAB 7.3 格式的 mat 文件。因为 SciPy 不提供一个,所以我们这里没有实现 HDF5 /7.3 接口。


参考链接:https://vimsky.com/examples/usage/python-scipy.io.loadmat.html