当前位置:首页 » 《随便一记》 » 正文

matlab读取csv文件的几种方法

15 人参与  2024年04月21日 18:18  分类 : 《随便一记》  评论

点击全文阅读


什么是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的工作区内。

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

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


点击全文阅读


本文链接:http://zhangshiyu.com/post/98452.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 贵妃每天只想当咸鱼小说(萧兮兮洛清寒)(贵妃每天只想当咸鱼)整本+后续+结局在线阅读
  • 云纾君迟玉:+后续+番外半溪明月枕清风无删减小说在线无广告高口碑小说
  • 新章速递既负如来又负卿是什么小说(莫司淮唐乐薇)完本阅读无广告(莫司淮唐乐薇)
  • 林齐(林齐)火爆小说全集免费阅读_反转传奇林齐:结局+番外无弹窗最新章节笔趣阁(林齐)
  • 萧兮兮洛清寒小说(贵妃每天只想当咸鱼)起点章节+全篇阅读热门作品预订
  • 穿成塌房顶流,我靠爆料翻红(陈昭陈莹静)_穿成塌房顶流,我靠爆料翻红
  • (番外)+(全文)谢青霄林相宜(八零奉子成婚,死对头成了妻管严:全文+结局+番外)全文免费阅读无弹窗大结局_(谢青霄林相宜)最新章节列表_笔趣阁(八零奉子成婚,死对头成了妻管严:全文+结局+番外)
  • 傅修言沈知穗小说(沈知穗傅修言)小说***下载_章节前文+后续(傅修言沈知穗)
  • 陆译林初夏小说(替身攻略失败后摆烂了)全文免费阅读_(替身攻略失败后摆烂了)陆译林初夏小说最新章节列表
  • 全书浏览说好摸鱼打游戏,你爆杀华尔街?(王文斌方幻)_说好摸鱼打游戏,你爆杀华尔街?(王文斌方幻)全书结局
  • (重生后高傲妻子我不爱了)重生后高傲妻子我不爱了(梁言彻尹暖芸)无套路无弹窗全部章节列表
  • (番外)+(全文)傅修言沈知穗:番外+全文+后续(沈知穗傅修言)完整版小说阅读_傅修言沈知穗:番外+全文+后续免费阅读_笔趣阁(沈知穗傅修言)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1