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)

时间: 2024-11-01 07:32:45

python——读取MATLAB数据文件 *.mat的相关文章

python读取execl数据文件

import xlrd#将excel中数据转换为列表def excel_to_list(file,tag): data_list=[] #解析文件 book=xlrd.open_workbook(file) # print(type(book)) #获取到自己想要的标签页 tag=book.sheet_by_name(tag) #获取tag页行数 row_num=tag.nrows #获取tag页列数 # cols_num=tag.ncols # print(row_num,cols_num)

Python读取和处理文件后缀为".sqlite"的数据文件

最近在弄一个项目分析的时候,看到有一个后缀为”.sqlite”的数据文件,由于以前没怎么接触过,就想着怎么用python来打开并进行数据分析与处理,于是稍微研究了一下. SQLite是一款非常流行的关系型数据库,由于它非常轻盈,因此被大量应用程序采用. 像csv文件一样,SQLite可以将数据存储于单个数据文件,以便方便的分享给其他人员.许多编程语言都支持SQLite数据的处理,python语言也不例外. sqlite3是python的一个标准库,可以用于处理SQLite数据库. 用sqlite

matlab读取二进制数据文件的方法

matlab可以直接读取二进制数据文件,并且可以将其加入到矩阵中. 如果对c语言十分熟悉的话,应该对fopen,fclose,ftell,fseek,fread,fwrite,feof 这些函数非常熟悉了,幸运的是在matlab中仍然可以使用这些函数来读入实验数据. 现在假定有一个数据文件叫data.dat,它的前面2k是存放参数的,我们做数据处理的时候 需要跳过去,后面的数据是16位整数类型的,每组数据有512个.现在要把该数据文件的 所有数据读入一个nx512的矩阵中,n的个数不定,根据数据

python读取数据库数据,读取出的中文乱码问题

最近遇到python读取数据库数据,读取出的中文乱码问题, 网络搜索的基本是: "1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)2. MySQL数据库charset=utf-83. Python连接MySQL是加上参数 charset=utf84. 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)" 这些,一一尝试后仍未解决.去数据库查看了下,发现这个出现中文乱码的字段类型是varcha

Python读取jsonlines格式文件

Python读取jsonlines格式文件 json lines文件是一种便于存储结构化数据的格式,可以一次处理一条记录.可以用作日志文件或者其他.每条json数据之间存在一个"\n"分隔符. 具体信息可以查看http://jsonlines.org/ 之前爬虫存储数据,使用了这个格式文件,但是在读取的时候,Python内置的json函数,会进行报错: 在网上找到了两个库: 1.jsonlines,文档:https://jsonlines.readthedocs.io/en/lates

Python读取中文txt文件错误:UnicodeEncodeError: 'gbk' codec can't encode character

1 with open(file,'r') as f: 2 line=f.readline() 3 i=1 4 while line: 5 line=line.decode('utf-8') 6 print str(i)+": "+line7 line=f.readline() 8 i=i+1 用以上代码读取一个包含中文的txt文件时,在正确地读取并打印了六百多行之后,print str(i)+": "+line这一行报错: UnicodeEncodeError:

Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据

PRM 全称为ParnassusData Recovery Manager ,由 诗檀软件自主研发,拥有独立的软件著作权. PRM可以独立于Oracle软件运行,直接从Oracle数据文件中抽取表上的数据. 当以下几种场景中,都可以用上PRM: 无备份或者备份不可用情况下,数据表被意外truncate掉或者DROP掉 由于数据库损坏,导致的数据打不开 无法OPEN 数据块存在损坏,Oracle无法读取出数据 数据文件存在损坏,或者数据文件头信息不一致 等等 以上这些问题中,用户均可以考虑使用PR

(4)cocos2dx读取csv数据文件

cocos2dx中读取数据文件可能有很多种,像读取xml,lua,csv,json等,这些都可以作为配置数据的格式. 最近用到了读取csv数据文件,所以在网上找了一下关于这方面的技术博客.果然,网上各路大神都是不吝啬的, 不说废话了,直接上代码.代码如下(测试通过,可读取数据): .h头文件 // // QLCSVFile.h // // Created by quasi_lee on 15-7-7. // // #ifndef __QLCSVFile__ #define __QLCSVFile

python读取excel数据

excel是很常用的表格工具.不过,对程序员来说,这可不是件好事件.因为excel的数据既不像txt那样,随意一种语言.脚本,写个函数就能把数据读出来分析.也不像JSON这种开源的数据格式,有N多的开源库来读取.就算没有,知道数据格式,自己写个库也自己用不至于太难. 要想读取excel的数据,大多使用ODBC数据库驱动或者COM的方式.对于ODBC,不同的语言有不同的实现,如java的JDBC.而对于COM方式,几乎是在后台运行一个excel程序,像new Excel.Application()