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