matlab讀取cvs文件的幾種方法


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

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.

 
 
 
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的工作區內。

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

在保證所有數據都被選中的情況下,在工具欄的“導入的數據”中選擇要導入數據的類型,如果全部為數據,則可以導出為列矢量或者數值矩陣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM