[問題] textscan及delimiter的用法?

看板MATLAB作者時間12年前 (2013/10/22 01:17), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
不好意思 目前遇到了一個難題,還請大家給點建議 現在手中有一個文字檔 內有400多萬筆資料 資料格式如下 Lon Lat Time Height Temperature 121 23.5 1985-03-13T12:00:00 10 25 121 24 1986-03-13T12:00:00 10 28 . . . . 其問題在於當我使用textscan,我希望能在Time那行資料 把 1985-03-13 (年月日)及 12:00:00(時分秒) 給分開來 所以使用了以下的code fid = fopen('格式.txt'); C = textscan(fid,'%f %f %s %s %f %f','headerlines',1,'delimiter','T'); fclose(fid); 得到的C{1} C{2} C{3}沒有問題 可是C{4}卻是 12:00:00 10 25 也就是在T之後的所有數值都當成了一個字串 想問說有沒有辦法在textscan時,也就是匯入資料的同時 就將Time這行資料拆解成兩個字串? 在這裡先謝謝把文章看完的各位... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.231.21.28

10/22 08:15, , 1F
... 'delimiter', {'T', ' '}, 'MultipleDelimsAsOne', 1);
10/22 08:15, 1F

10/22 09:16, , 2F
感謝C大 我昨天也有用你說的那段code 結果在delimiter裡的
10/22 09:16, 2F

10/22 09:18, , 3F
{'T',' '}打成{'T',''} 所以一直失敗..因為我doc textscan
10/22 09:18, 3F

10/22 09:19, , 4F
裡面delimiter的預測值是{'','\b','\t'} 所以就沒注意到' '
10/22 09:19, 4F

10/22 09:19, , 5F
要有空白 真是太感謝了~
10/22 09:19, 5F

10/22 09:44, , 6F
打錯字 是預設值才對@@
10/22 09:44, 6F
文章代碼(AID): #1IPM6OYO (MATLAB)