python如何导入matlab数据,python学习-python到matlab数据的传输

1、.mat文件

matlab和python间的数据传输一般是基于matlab的文件格式.mat,python中numpy和scipy提供了一些函数,可以很好的对.mat文件的数据进行读写和处理。在这里numpy作用是提供Array功能映射matlab里面的Matrix,而scipy提供了两个函数loadmat和savemat来读写.mat文件。# python 读写.mat文件

import scipy.io as sio

import numpy as np

# python读取.mat文件

load_fn = 'xxx.mat'

load_data = sio.loadmat(load_fn)

# python 保存.mat文件

save_fn = 'xxx.mat'

save_array = np.array([1,2,3,4])

sio.savemat(save_fn,{'array':save_array})

save_array_x = np.array([1,2,3,4])

save_array_y = np.array([5,6,7,8])

sio.savemat(save_fn, {'array_x': save_array_x, 'array_x': save_array_x})

python写好.mat文件,matlab里面直接读入.mat文件。但是针对于数量大的数据,.mat文件无法存储,建议使用.h5文件。

2、.h5文件

python写入.h5文件# python写入.h5文件,matlab读入.h5文件

# python写.h5文件

import h5py

import cPickle as pickle

import sys

import numpy as np

if __name__ == "__main__":

matrix = np.array([1,2,3,4])

f = h5py.File('data.h5','w')

f['matrix'] = matrix

f.close()

# matlab读取.h5文件

matrix = h5read('data.h5','/matrix');

python存储的.h5文件中的矩阵matlab读取时候矩阵维度会倒转(在python中使用matrix.transpose((维度1,维度2,...,维度n))命令先进行翻转再写入,matlab读取的时候就是正常维度)。

PS:图片传输的时候,uint8图片数据传到matlab里会变成double类型数据。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值