matlab读取CVS文件的几种方法:
1,实用csvread()函数
csvread()函数有三种使用方法:数据库
一、M = csvread('filename')
二、M = csvread('filename', row, col)
三、M = csvread('filename', row, col, range)编程
第一种方法中,直接输入文件名,将数据读到矩阵M中。这里要求csv文件中只能包含数字。数组
第二种方法中,除了文件名,还指定了开始读取位置的行号(row)和列号(col)。这里,行号、列号以0开始计数。也就是说,row=0, col=0表示从文件中第一个数开始读。函数
第三种方法中,range限定了读取的范围。range = [R1 C1 R2 C2],这里(R1,C1)是读取区域的左上角,(R2,C2)是读取区域的右下角。在使用这种方法时,要求row, col等于range中的前两项。工具
注意:csv文件中的空项,读到矩阵中时,会初始化为0.orm
二、使用textscan函数
在使用textscan函数前必须用fopen函数打开CSV文件。textscan函数读取的结果会存在cell数组中。
调用格式
C = textscan(fid, 'format')
C = textscan(fid, 'format', N)
C = textscan(fid, 'format', param, value, ...)
C = textscan(fid, 'format', N, param, value, ...)
C = textscan(str, ...)
[C, position] = textscan(...)
关于textscan函数的具体用法见help textscan。
三、当成数据库使用
具体方法能够去百度“matlab 数据库编程”
4,使用importdata('myfile.cvs')
5,使用fgetl()函数,当成普通的txt文件读取。
fidin=fopen('test.txt'); % 打开test2.txt文件
fidout=fopen('mkmatlab.txt','w'); % 建立MKMATLAB.txt文件
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是不是数值
fprintf(fidout,'%s\n\n',tline); % 若是是数字行,把此行数据写入文件MKMATLAB.txt
continue % 若是是非数字继续下一次循环
end
end
fclose(fidout);
MK=importdata('MKMATLAB.txt'); % 将生成的MKMATLAB.txt文件导入工做空间,变量名为MK,实际上它不显示出来
6,拖动到Matlab的工做区内
若是文件中所有都是数据的话,能够直接将数据拖动到Matlab的工做区内。get
加载后出现下面的数据列表。it
在保证全部数据都被选中的状况下,在工具栏的“导入的数据”中选择要导入数据的类型,若是所有为数据,则能够导出为列矢量或者数值矩阵。io