关联问题:
关联问题: 因工作需要,需要将.mat文件存到excel中,基本思想就是,先读取mat文件,然后读取mat的索引头,将该索引的数据存为list,然后把该list存到excel中去。 读取mat: im...
时间:2019/7/2 分类:Python 人气:3233 评论:45
在关联问题中,我们讲过如何利用python将mat文件存为excel,但是excel有个问题,那就是最多存储255列数据,当我们数据很多的时候怎么办呢?
在这里,我选择mat文件。
应用需求:
在这里,我有多个mat文件,每个mat文件都只有一行[1×4096]的数据,现在我想把这些mat文件合并起来。
应用分析:
根据前面我们知道,合并这些mat文件不能再存到excel里了,只能存入mat中。
编程实现:
这里以合并两个mat文件为例,其他多个同理,只需要for一下即可。
首先,读取mat文件并加载数据
1 2 3 4 5 6 7 8 |
import scipy.io as scio import numpy as np dataFile = 'mat\BigBuckBunny05.mat' dataFile2 = 'mat\BigBuckBunny06.mat' data = scio.loadmat(dataFile) data = data['BigBuckBunny05'] data2 = scio.loadmat(dataFile2) data2 = data2['BigBuckBunny06'] |
然后利用numpy将data和data2按行合并
1 |
data = np.vstack((data,data2)) |
最后将data保存为mat字典即可。
1 |
scio.savemat('filename.mat', mdict={'filename': data}) |
Matlab版:
其实matlab更加简单,这是MATLAB完整程序,包含了循环读取操作。
注意事项:
这里关键是如何找到mat的字典头
我们以上面的例子为例,我们是如何知道mat中的索引是BigBuckBunny05呢?如果这个文件是自己建的,当然没问题,如果是直接copy来的,按一下步骤查找索引:
首先读取mat文件,然后在下面设置断点:
运行debug,查看data的数据结构:
这里可以看到,BigBuckBunny05即为ndarray的索引。可以打开看看
确认之后即可读取该索引的数据。
学习
厉害
谢邀
谢谢博主
牛
谢谢博主
学一下
学习一下
学习一下!!
学习下
想看一下呀
看看
11黑
学习matlab合并
学习下怎么用matlab合并mat文件
我想看看mat合并文件的代码
学习一下
挺好的
还可以
很不错
不错噢
不错哟
不错
不错,谢谢