資源描述:
《matlab基本操作,讀取csv文件.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、1、用csvread函數(shù)注意:csvread函數(shù)只試用與用逗號(hào)分隔的純數(shù)字文件第一種:M=CSVREAD('FILENAME')?,直接讀取csv文件的數(shù)據(jù),并返回給M第二種:M=CSVREAD('FILENAME',R,C)?,讀取csv文件中從第R-1行,第C-1列的數(shù)據(jù)開始的數(shù)據(jù),這對(duì)帶有頭文件說明的csv文件(如示波器等采集的文件)的讀取是很重要的。第三種:M=CSVREAD('FILENAME',R,C,RNG),其中?RNG=[R1C1R2C2],讀取左上角為索引為(R1,C1),右下角索引為(R2,C2)的矩陣中的數(shù)據(jù)。注意:matlab認(rèn)為CSV第1行第1列的單
2、元格坐標(biāo)為(0,0)?給定一個(gè)csvlist.csv文件,其內(nèi)容如下???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??讀取整個(gè)文件csvread('csvlist.csv')ans=?????2?????4?????6?????8????10????12?????3?????6?????9????12????15????18?????5????10????15????20????25????30?????7????1
3、4????21????28????35????42????11????22????33????44????55????66?例1.2??讀取第2行以下,第0列以右區(qū)域的數(shù)據(jù)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列以左區(qū)域的數(shù)據(jù)m=csvread('csvlist.dat',2,0,[2,
4、0,3,3])m=?????5????10????15????20?????7????14????21????28?2、使用textscan函數(shù)在使用textscan函數(shù)前必須用fopen函數(shù)打開CSV文件。textscan函數(shù)讀取的結(jié)果會(huì)存在cell數(shù)組中。調(diào)用格式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,posi
5、tion]=textscan(...)關(guān)于textscan函數(shù)的具體用法見helptextscan。?例2.1?讀取字符串str='0.418.243.576.249.27';C=textscan(str,'%3.1f%*1d');textscanreturnsa1-by-1cellarrayC:C{1}=[0.4;8.2;3.5;6.2;9.2]?例2.2??讀取不同類型的數(shù)據(jù)scan1.dat文件內(nèi)容如下Sally??Level1??12.34??45??1.23e10??inf???NaN???YesJoe????Level2??23.54??60??9e19?????-
6、inf??0.001NoBill???Level3??34.90??12??2e5??????10????100???No?程序如下fid=fopen('scan1.dat');C=textscan(fid,'%s%s?2?%u%f%f%s');fclose(fid);?返回值C是一個(gè)1×8的元胞數(shù)組,其值如下C{1}={'Sally';'Joe';'Bill'}??????????classcellC{2}={'Level1';'Level2';'Level3'}????classcellC{3}=[12.34;23.54;34.9]??????????????classsi
7、ngleC{4}=[45;60;12]??????????????????????classint8C{5}=[4294967295;4294967295;200000]??classuint32C{6}=[Inf;-Inf;10]???????????????????classdoubleC{7}=[NaN;0.001;100]?????????????????classdoubleC{8}={'Yes';'No';'No'}???????????????classcell注意:C{5}的