跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 平台政策 > matlab读取csv文件的几种方法

matlab读取csv文件的几种方法

时间:2024-04-18 17:30:36 来源:网络cs 作者:亙句 栏目:平台政策 阅读:

标签: 方法  文件 
阅读本书更多章节>>>>

什么是CSV文件

csv是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。csv文件用记事本和excel都能打开,用记事本打开显示逗号,用excel打开,没有逗号了,逗号都用来分列了,还可有Editplus打开。

具体可看:百度安全验证

利用matlab将txt文件批量转excel文件的样例程序 

怎样用matlab打开csv文件

1,实用csvread()函数

1、M = csvread('filename')
2、M = csvread('filename', row, col)
3、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.

给定一个csvlist.csv文件,其内容如下

   02, 04, 06, 08, 10, 12

   03, 06, 09, 12, 15, 18

   05, 10, 15, 20, 25, 30

   07, 14, 21, 28, 35, 42

   11, 22, 33, 44, 55, 66

例1.1  读取整个文件

csvread('csvlist.csv')

ans =

     2     4     6     8    10    12

     3     6     9    12    15    18

     5    10    15    20    25    30

     7    14    21    28    35    42

    11    22    33    44    55    66

例1.2  读取第2行以下,第0列以右区域的数据

m = csvread('csvlist.dat', 2, 0)

m =

     5    10    15    20    25    30

     7    14    21    28    35    42

    11    22    33    44    55    66

例1.3  读取第2行以下,第0列以右,第3行以上,第3列以左区域的数据

m = csvread('csvlist.dat', 2, 0, [2,0,3,3])

m =

     5    10    15    20

     7    14    21    28

2、使用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。

3、当成数据库使用

具体方法可以去百度“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的工作区内。

加载后出现下面的数据列表。

在保证所有数据都被选中的情况下,在工具栏的“导入的数据”中选择要导入数据的类型,如果全部为数据,则可以导出为列矢量或者数值矩阵

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/zhengce/2024-04-18/160122.html,文章来源:网络cs,作者:亙句,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论