python读取mat(v7.3)文件中的cell以及struct

Python014

python读取mat(v7.3)文件中的cell以及struct,第1张

"""

Created on Sun Nov 29 16:40:18 2020

本工具主要用于mat文件的读取(matlab-v7.3格式)

主要分为3个部分:1 常规mat中的变量

                2 mat文件中的cell内部数据读取

                3 mat文件中的struct数据读取

@author: ZXY

"""

"""

1 常规mat中的变量

"""

import h5py

b=[]

#首先用h5py读取mat文件,并找到对应的struct 位置。

data = h5py.File("./1.mat",'r')

ecg=data["ecg"].value

"""

2 mat文件中的cell内部数据读取

"""

import h5py

b=[]

#首先用h5py读取mat文件,并找到对应的struct 位置。

data = h5py.File("./2.mat",'r')

zx1=data["ecg_all"]#找到struct的顶部

for i in range(zx1.shape[0]):

    ecg=data[zx1[i][0]].value

"""

3 mat文件中的struct数据读取

"""

import h5py

b=[]

#首先用h5py读取mat文件,并找到对应的struct 位置。

data = h5py.File("./3.mat",'r')

zx1=data["ecgpart"]#找到struct的顶部

test = data['ecgpart/data']#找到struct中要提取的子集

for i in test[:,0]: 

        ecg=zx1[i].value

object.attribute

表示得到对象的属性

然后一个变量值,是列表类型的话可以通过

listTypeValue[startNum:endNum]

去获得从startNum到endNum中这段的值

而如果把startNum到endNum都省略的话,则表示从头到尾,获得所有的

所以你那句的意思是:

获得对象PartA中属性cell(是个列表)中的所有的值。