您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页MATLAB批量读取操作CSV文件(含字符)的几种方法

MATLAB批量读取操作CSV文件(含字符)的几种方法

来源:筏尚旅游网

        这里一共给出了四种读取csv文件的方法,csvread,importdata,textscan和uiopen,个人觉得最好用的是最后一种可以读取字符数据,小伙伴们可以直接pass前面的

1.csvread

  • M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M,这时要求整个csv文件内容全部为用逗号隔开的数字,不能用其他字符。(csv文件默认就是以逗号隔开的数据)

  • M = CSVREAD('FILENAME',R,C) ,读取csv文件中从第R-1行,第C-1列的数据开始的数据(csv文件的行列下标是从0开始的,所以要-1),这对带有头文件说明的csv文件(如示波器等采集的文件)的读取是很重要的。

  • M = CSVREAD('FILENAME',R,C,RNG),其中 RNG = [R1 C1 R2 C2],读取左上角为索引为(R1,C1) ,右下角索引为(R2,C2)的矩阵中的数据。

    这个方法只能用于读取数字,如果是含有字符的数据他就为力了

链接:

2.importdata

        f=importdata(filName);

体验一般,不多说。

3.textscan

C = textscan(fileID,formatSpec)

将已打开的文本文件中的数据读取到元胞数组 C。该文本文件由文件标识符 fileID 指示。使用 fopen 可打开文件并获取 fileID 值。完成文件读取后,请调用 fclose(fileID) 来关闭文件。

file_id = fopen('chem_info.csv');
C = textscan(file_id, '%s%d%f%d', 'Delimiter', ',', 'HeaderLines', 1 );
fclose(file_id);

上述代码中,textscan有4个参数:

file_id :指用fopen打开文件并获取 的fileID 值

‘%s%d%f%d’:指匹配的格式。图1一共四列内容,分别是字符串、整型、浮点型、整型,所以对应’%s%d%f%d’(这里不太方便的样子,如果参数经常修改又很多岂不是很费劲,不清楚该方法有没有对应的解决手段)。更多匹配格式请到官方帮助中心搜索关键字“数值字段”查看。

Delimiter:指分割方式,csv文件以“,”分割

HeaderLines:标题行数,默认为0。这里是1

matlab文档:

原文链接:

4.uiopen

这个是我目前觉得最好用的。

1.导入文件

在命令行输入以下代码,或者直接将需要处理的文件拖进这里就行

2.生成函数

 按照步骤生成一个函数文件,该函数的三个参数分别是函数名,起始行和结束行。该函数会读取目标文件的起始行到结束行的数据,以矩阵的形式导出结果。这样只要利用这个函数就可以批量的读取同类型的csv文件。

得到矩阵后再进行其他操作就方便多了。

这里的array就是存储了数据的矩阵。

MATLAB链接:


        好久没有发文章了,其实也有一直做笔记(偶尔...)。希望能对大家有用,如果哪里不对还望指正,我也是自己瞎琢磨。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务