[問題] 整數陣列讀到空白格要如何解決?

看板Fortran作者 (菩提王子)時間12年前 (2012/02/19 16:20), 編輯推噓2(207)
留言9則, 2人參與, 最新討論串1/1
現在假設我有一個CSV資料檔如下 1 1 1 5 5 5 1 2 3 假設我第一個直排選用的是 integer a(5)去儲存 第二個直排則選用 integer b(5)陣列去儲存 那麼我想請問的是,因為第一個直排有空白格所以讀進去integer a好像會出現問題 因為空白格好像不屬於整數的樣子,那這樣子要怎麼解決呢? 感謝! PS:我沒辦法知道到底哪一格是空格因為資料太過於繁雜,那是否要寫一個 條件是遇到空白格就跳過之類的呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.85.59.207

02/19 23:40, , 1F
用字串去讀?或在read裡加err=行代碼
02/19 23:40, 1F

02/19 23:42, , 2F
用字串讀,再用判斷式是否為空白
02/19 23:42, 2F

02/19 23:42, , 3F
不是空白的話再用整數變數去讀字串變數
02/19 23:42, 3F

02/20 09:58, , 4F
通常CSV檔對於數據是用逗號分隔(或是其他符號),若有空白
02/20 09:58, 4F

02/20 09:59, , 5F
數據則也會出現分隔符號(ex. 5,,5),若是分隔符號為逗號
02/20 09:59, 5F

02/20 10:00, , 6F
讀取格式可用*來處理,若是其他符號則需讀取一行字串再自
02/20 10:00, 6F

02/20 10:01, , 7F
行判斷,但是依您的檔案,判斷邏輯很容易出錯,所以檔案
02/20 10:01, 7F

02/20 10:02, , 8F
來源的格式要先控制好才好處理
02/20 10:02, 8F

02/20 10:04, , 9F
空白符號作為分隔符號不容易判斷空白數據
02/20 10:04, 9F
文章代碼(AID): #1FGB3OC_ (Fortran)