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

作者: celestialgod (天)   2015-08-11 12:16:30
看了推文,想說試試看全部用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可是不知道怎樣跳行讀...
: 求助各位高手!
作者: tycg (蔡蔡很忙)   2015-08-11 17:37:00
哦哦 這方法滿簡潔的 謝謝分享!
作者: ManoloKors (Kors)   2015-08-11 19:54:00
感動...
作者: lovemormus (暗黑小雪)   2015-08-13 16:14:00
感謝您的回答!我終於做出來了!

Links booklink

Contact Us: admin [ a t ] ucptt.com