matlab讀取cvs文件的幾種方法

matlab讀取CVS文件的幾種方法:
1,實用csvread()函數
 

csvread()函數有三種使用方法:數據庫

一、M = csvread('filename')
二、M = csvread('filename', row, col)
三、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.orm

 
 
 
二、使用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。
 
 
三、當成數據庫使用
具體方法能夠去百度「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的工做區內。get

加載後出現下面的數據列表。it

在保證全部數據都被選中的狀況下,在工具欄的「導入的數據」中選擇要導入數據的類型,若是所有爲數據,則能夠導出爲列矢量或者數值矩陣。io

相關文章
相關標籤/搜索