Matlab 讀取dat文件(包含幾行多余文本,數據帶有數字和字符串,且以逗號分隔)


需要刪除前幾行多余文本,並去除逗號和最后一列標簽項,保存數據

處理前:

matlab代碼:

fid = fopen('E:\study\研究生\a\backup新\backup\數據庫\ecoli1.dat','rt');
%FormatString='%f %f %f %f %f %f %f %s';%取前8列數據
FormatString='%f %f %f %f %f %f %f %*[^\n]';%取前七列數據,最后一列標簽去掉
% 注意:%*[^\n] 就是從當前直接跳到行尾。%*是一個跳過符號,表示跳過該位
N=348;%讀取數據的行數
C=textscan(fid,FormatString,N,'HeaderLines',12,'delimiter',','); %跳過前12行,以逗號為數據的分隔符
C=cell2mat(C);%cell型數組轉換為普通數組
fclose(fid);
[r,c]=size(C);
    fid = fopen('E:\study\研究生\a\backup新\backup\數據庫\test.txt', 'wt');%輸出dat格式,將txt改一下即可。
    for j=1:r
        for m=1:c
            fprintf(fid,'%4.2f\t',C(j,m));%保留兩位小數點,包括小數點共4位
        end 
         fprintf(fid,'\n');
    end 
    fclose(fid);%保存為test文件

輸出后txt文件:

0.49 0.29 0.48 0.50 0.56 0.24 0.35
0.07 0.40 0.48 0.50 0.54 0.35 0.44
0.56 0.40 0.48 0.50 0.49 0.37 0.46
0.59 0.49 0.48 0.50 0.52 0.45 0.36
0.23 0.32 0.48 0.50 0.55 0.25 0.35
0.67 0.39 0.48 0.50 0.36 0.38 0.46
0.29 0.28 0.48 0.50 0.44 0.23 0.34
0.21 0.34 0.48 0.50 0.51 0.28 0.39
0.20 0.44 0.48 0.50 0.46 0.51 0.57
.......

  

  


免責聲明!

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



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