当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy matlab.whosmat用法及代码示例


本文简要介绍 python 语言中 scipy.io.matlab.whosmat 的用法。

用法:

scipy.io.matlab.whosmat(file_name, appendmat=True, **kwargs)#

列出 MATLAB 文件内的变量。

参数

file_name str

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

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 文件。

返回

variables 元组列表

元组列表,其中每个元组保存矩阵名称(字符串)、其形状(整数元组)及其数据类(字符串)。可能的数据类有:int8、uint8、int16、uint16、int32、uint32、int64、uint64、single、double、cell、struct、object、char、sparse、function、opaque、logic、unknown。

注意

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

您将需要 HDF5 python 库来读取 matlab 7.3 格式的 mat 文件(例如 h5py)。由于SciPy没有提供,因此我们在这里不实现HDF5 /7.3接口。

例子

>>> from io import BytesIO
>>> import numpy as np
>>> from scipy.io import savemat, whosmat

创建一些数组,并使用 savemat 将它们写入BytesIO实例。

>>> a = np.array([[10, 20, 30], [11, 21, 31]], dtype=np.int32)
>>> b = np.geomspace(1, 10, 5)
>>> f = BytesIO()
>>> savemat(f, {'a': a, 'b': b})

使用 whosmat 检查 f 。输出列表中的每个元组给出了 f 中数组的名称、形状和数据类型。

>>> whosmat(f)
[('a', (2, 3), 'int32'), ('b', (1, 5), 'double')]

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.io.matlab.whosmat。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。