作者snowanimal (依然動物先生)
看板Fortran
標題Re: [請益] 用fortran 讀取 csv檔案
時間Sun Jan 11 12:55:43 2009
※ 引述《janhon (海)》之銘言:
: 2007/1/10,宜蘭,XX,71.78,72.49,73.37,72.57,74.27,78.46,84.05,85.66,85.94,86.2,84.05,82.49,83.54,84.42,84.18,85.2,87.46,88.62,89.2,89.68,90.03,90.37,90.63,90.73
: 2007/1/10,宜蘭,YY,3.6,4.9,4.9,5,3.5,4.6,2.5,3.3,4.1,3.3,2.9#,3#,3.4#,3.2,2.2
: 2007/12/13,宜蘭,XX,85.73,84.6,83.62,82.1,82.04,85.1,87.8,84.85,85.39,88.94,91.76,86.08,82.04,80.83,80.93,81.63,82.92,83.56,82.3,83.98,82.92,80.02,83.29,83.61
: 2007/12/13,宜蘭,YY,3.4,1.9,2.5,1.8,2.2,2.2,2.5,3.2,3.9,3.6,3.6,4,4.2,4.1,4.4,4.1,3.6,3.9,4.6,5.2,5.3,5.3,5.3,5.8
: 欲用fortran讀取上述csv檔案,因為字元數目都不同,format無法固定
: 除了使用字元讀入,自己慢慢拆解外,請問是否還有其他比較好的讀取方法
叭~~我猜這你一定是氣象相關科系的人吼~
上面的字串就是所謂的氣象電碼,根據以往的經驗給你個提示...
用 if判別 "," 接著將每一樣資料都重新寫成設定好的格式。
因為你所有的參數都是利用 "," 分隔開來所以只要依序讀每個字元,
讀到逗號就視做是資料即可啦!
至於#的問題...用字元取代法嚕。
老實說,用excel的巨集搭配另存新檔或許就不必這麼辛苦。
拆解字元這個用do loop讀一整行回來一個字一個字拆其實一點也不慢啦。
先建立一個每個資料的表,主程式去讀他就很快了。
同為曾經是相關科系的死人替你加油。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.102.221
※ 編輯: snowanimal 來自: 122.124.102.221 (01/11 12:57)
1F:→ blc:話說電碼不是長這樣… 01/11 18:11
2F:推 meteorology:似乎不是長這樣 他們會有格式 方便FORTRAN好讀 01/11 22:12
3F:→ snowanimal:當初手邊拿到的格式跟這個幾乎沒差別 一樣亂 01/12 00:00
4F:→ snowanimal:年代久遠 印象中數字一整串還是要重新讀過才能用 01/12 00:01