MATLAB 板


LINE

我的檔案大概有30萬行,貼前面幾行 "TOA5","CR800Series","CR800","3780","CR800.Std.05","CPU:1011109.CR8","59367","Table1" "TIMESTAMP","RECORD","WS_ms_S_WVT","WindDir_D1_WVT","WS_ms_new_S_WVT","WindDir_new_D1_WVT" "TS","RN","","Deg","","Deg" "","","WVc","WVc","WVc","WVc" "2012-11-09 11:52:30",0,5.28,342,4.541,12.87 "2012-11-09 11:52:36",1,4.475,343.4,4.394,17.41 "2012-11-09 11:52:42",2,3.482,345.5,3.283,20.87 "2012-11-09 11:52:48",3,3.016,355.2,3.43,4.637 "2012-11-09 11:52:54",4,3.746,347.9,3.348,43.72 "2012-11-09 11:53:00",5,5.461,347.2,5.668,14.22 ... 我想要寫個程式將去四行檔頭後~把資料讀入並分門別類 我目前的寫法是: ============================================================================== filename = '1011203.dat'; %%檔名 fid=fopen(filename); fgetl(fid);fgetl(fid);fgetl(fid);fgetl(fid); %跳過四行檔頭 i=0; tline = fgetl(fid); while ischar(tline) i=i+1; %%%計數器 tline = fgetl(fid); end data=zeros(i,12); %設定檔案大小 fid=fopen(filename); fgetl(fid);fgetl(fid);fgetl(fid);fgetl(fid); %跳過四行檔頭 i=0; tline = fgetl(fid); while ischar(tline) tlength=length(tline); whereComma=strfind(tline,','); %找逗號 data(i,1)=str2double(tline(2:5)); data(i,2)=str2double(tline(7:8)); data(i,3)=str2double(tline(10:11)); data(i,4)=str2double(tline(13:14)); data(i,5)=str2double(tline(16:17)); data(i,6)=str2double(tline(19:20)); data(i,7)=str2double(tline(whereComma(1)+1:whereComma(2)-1)); data(i,8)=str2double(tline(whereComma(2)+1:whereComma(3)-1)); data(i,9)=str2double(tline(whereComma(3)+1:whereComma(4)-1)); data(i,10)=str2double(tline(whereComma(4)+1:whereComma(5)-1)); data(i,11)=str2double(tline(whereComma(5)+1:tlength)); data(i,11)=str2double(tline(whereComma(5)+1:whereComma(6)-1)); data(i,12)=str2double(tline(whereComma(6)+1:tlength)); tline = fgetl(fid); end ============================================================================== 可是讀檔速度有點慢,問題可能在於讀法太蠢... 不知道版上的高手們能不能點撥一下 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.112.62
1F:→ mp19990920:若您只是要刪除前4行後的檔案,可用任何的編輯軟體完成 12/23 23:38
2F:→ mp19990920:若您要把刪除前4行的資料弄進matlab的話,可以用 12/23 23:39
3F:→ mp19990920:File->"Import Data..."->選擇你的檔案, 之後用matlab 12/23 23:41
4F:→ mp19990920:的指令把前4行刪掉 12/23 23:41
5F:→ greg2977:問題是我會需要一次讀入好多筆來做比對與運算 12/23 23:53
6F:→ greg2977:況且這個動作一段時間就要執行一次 12/23 23:54
7F:→ greg2977:感謝一樓的推文~讓我知道有如此神速的方法 12/23 23:56
8F:→ greg2977:程式的美妙之處就在於多久可以找出答案 12/24 01:35
9F:→ greg2977:我覺得我找出來了= =+ 12/24 01:35
10F:→ mp19990920:不客氣....我看成你出來了 = =||| 12/24 02:35
11F:→ greg2977:textread(filename,'%s %*d %f %f %f %f %f %f', 12/24 15:19
12F:→ greg2977:'headerlines',4,'delimiter',','); 12/24 15:20







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP