实现如下功能:
- 读取Mat文件中有效数据
- 若Mat文件存在多组数据,则将其存储为字典进行输出
- 若仅存在一组数据,则输出这组数据(np.ndarray类型)
def readmat(filename):
import scipy.io as sio
tmp = sio.loadmat(filename)
data = {key: val for key, val in tmp.items() if '__' not in key}
if len(data) == 1:
return next(iter(data.values()))
return data
解释:
- 将Mat文件中带有‘__’的变量信息去除,不进行存储
- 使用迭代器输出第一个数据