Re: [討論] 讀txt數據遇到文字行怎跳過QQ

看板MATLAB作者 (天)時間8年前 (2015/08/11 12:16), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串2/2 (看更多)
看了推文,想說試試看全部用string讀入之後 str2num可以轉數字的string就會變數字 不是的就是empty,感覺很適合用在這個case上 程式: % data.txt AAA A AA AAAAA BBBB BB BBBB 3.1E+1 1.1E-1 2.1E+1 1.9E-1 4.4E+1 4.4E-1 CCC C CC CCCCC DDDD DD DDDD 6.9E+1 1.5E-1 3.8E+2 9.9E-1 4.1E+1 9.1E-1 EEE E EE EEEEE FFFF FF FFFF % code fileId = fopen('data.txt', 'r'); data_cell = textscan(fileId, '%s %s %s %s'); fclose(fileId); data_cell = cat(2, data_cell{:}); num_cell = cellfun(@str2num, data_cell, 'UniformOutput', false); cell2mat(num_cell) 31.0000 0.1100 21.0000 0.1900 44.0000 0.4400 69.0000 0.1500 380.0000 0.9900 41.0000 0.9100 ※ 引述《lovemormus (暗黑小雪)》之銘言: : 高手幫幫忙Q : 我的txt檔長得這樣 : AAA A AA AAAAA : BBBB BB BBBB : 3.1E+1 1.1E-1 : 2.1E+1 1.9E-1 : 4.4E+1 4.4E-1 : CCC C CC CCCCC : DDDD DD DDDD : 6.9E+1 1.5E-1 : 3.8E+2 9.9E-1 : 4.1E+1 9.1E-1 : EEE E EE EEEEE : FFFF FF FFFF : 以此類推... : 兩行文字以後接著三行我要的數據 : 我希望他能只圖數據就像這樣 : 3.1E+1 1.1E-1 : 2.1E+1 1.9E-1 : 4.4E+1 4.4E-1 : 6.9E+1 1.5E-1 : 3.8E+2 9.9E-1 : 4.1E+1 9.1E-1 : 以此類堆 : 我試過textread可是不知道怎樣跳行讀... : 求助各位高手! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.27.107 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1439266595.A.177.html

08/11 17:37, , 1F
哦哦 這方法滿簡潔的 謝謝分享!
08/11 17:37, 1F

08/11 19:54, , 2F
感動...
08/11 19:54, 2F

08/13 16:14, , 3F
感謝您的回答!我終於做出來了!
08/13 16:14, 3F
文章代碼(AID): #1LoNSZ5t (MATLAB)
文章代碼(AID): #1LoNSZ5t (MATLAB)