python读取matlab_python——读取MATLAB数据文件 *.mat

鉴于以后的目标主要是利用现有的Matlab数据(.mat或者.txt),主要考虑python导入Matlab数据的问题。以下代码可以解决python读取.mat文件的问题。主要使用sicpy.io即可。sicpy.io提供了两个函数loadmat和savemat,非常方便。

# adapted from http://blog.csdn.net/rumswell/article/details/8545087

import scipy.io as sio

#import matplotlib.pyplot as plt

from pylab import *

import numpy as np

matfn='E:\\Pythonrun\\myuse\\matdata.mat' # the path of .mat data

data=sio.loadmat(matfn)

xx=data['matdata']

figure(1)

plot(xx)

show()

以下代码(http://blog.csdn.net/gadfly7/article/details/9906315)是读入txt数据并转换成数组,方法比较笨,更有效的方法待研究。

from numpy import *

def file2list(filename):

fr = open(filename)

array = fr.readlines() #以文件中的每行为一个元素,形成一个list列表

num = len(array)

returnMat = zeros((num,3))#初始化元素为0的,行号数个列表,其中每个元素仍是列表,元素数是3,在此表示矩阵

index = 0

for line in array:

line = line.strip()#去掉一行后的回车符号

linelist = line.split(' ')#将一行根据分割符,划分成多个元素的列表

returnMat[index,:] = linelist[0:3]#向矩阵赋值,注意这种赋值方式比较笨拙

index +=1

return returnMat

fname = 'E:\\Pythonrun\\myuse\\num_data.txt'

data= file2list(fname)

标签:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值