Matlab读取csv文件csvread函数的使用

Posted Thomas会写字

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab读取csv文件csvread函数的使用相关的知识,希望对你有一定的参考价值。

 

  • 方法一:M = csvread(‘FILENAME’),读取逗号分隔值格式的文件名。结果直接返回给M。因此,文件只能包含数值。
  • 方法二:M = csvread(‘FILENAME’,R,C),从逗号分隔值格式的文件中读取数据(从R行和C列开始)。R和C从零开始,因此R=0和C=0指定文件中的第一个值。即csv文件中的第一行为该函数的第0行,csv文件中的第一列为该函数的第0列。
  • 方法三:M = csvread(‘FILENAME’,R,C,RNG),只读取由RNG=[R1 C1 R2 C2]指定的范围,其中(R1,C1)是要读取的数据的左上角,R2,C2)是右下角。也可以使用电子表格表示法指定RNG,如RNG=’A1..B7’。

大致上,就是方法一读取整个文件,必须保证该文件只有数值内容,一般用不到这种方法,毕竟从示波器等导出的文件中,一定会有描述内容,即各种单位等头文件,都是英文。

方法二,即从R行开始,C列开始,一直到结束的这个范围内的数字,全部存入M,结果是一个矩阵,这种方式比较常用。

方法三,即从R1行C1列到R2行C2列之间读取数据。

实例演示

下面,我们举个例子吧。

假设我们的csv中的内容如下:假设我们文件名称为TEK001.csv

name30.36
other50.40
80.62
100.75
120.89

Matlab读取csv文件csvread函数的使用,数据举例

  • 方法一无效,因为文件中包含非数字文本;
  • 方法二:M = csvread(‘TEK001.csv’,0,1)表示从第0行第1列开始读取数据,即从数字3到数字9全部读取;M = csvread(‘TEK001.csv’,1,2)表示从第1行第3列开始读取数据,即从数字0.4到数字9全部读取。这里,我们只要知道Matalb里的第几行第几列到文件中即表示第几+1行第几+1列即可。
  • 方法三:M = csvread(‘TEK001.csv’,0,1,[0 1 1 2])表示读取第0行第1列到第1行第2列之间的数字,即3到0.4之间的数字;需要注意的是,数字起始点0,1前后必须一致,即方法三中的RC必须与R1C1一样。

相比来说,我还是喜欢方法二。

然后,接下来读取完数据,就是数据处理了。主要是将M中的值赋值给新元素,用于画图或处理,如下

M = csvread('TEK001.csv', 1,3,[1 3 2000 4]);
x=M(:,1);
y=M(:,2);
[i,k]=size(M);
for j=1:i
    if y(j)<2
        y(j)=0;
    else y(j)=5;
    end
end
plot(x,y)

表示从1行第3列到第2000行第4列直接的数字存入M,对应csv文件中的第2行第4列到第2001行第5列之间的数字,M得到一个20000行2列的矩阵。

第二行代码表示把矩阵中的第一列赋值给x。

第三行代码表示矩阵中的第二列赋值给y。

第四行代码表示读取举证的行数与列数

第五行到第 十行,表示把y值中小于2的值等于0,其他保持不变

第十一行为以x为横坐标,y为纵坐标作图,意思性放个结果吧,如下图:

 

 

以上是关于Matlab读取csv文件csvread函数的使用的主要内容,如果未能解决你的问题,请参考以下文章

用matlab读取一个csv表格文件并输出函数图像

怎样从matlab中读取csv文件

macmatlab导入大型csv

MATLAB coder 支持的 csvread 函数

怎样用matlab读取csv文件

matlab读取cvs文件的几种方法