我嘗試使用下面的代碼讀取大文件使用laf_open_fwf固定寬度的文件如何管理流氓數據行:在閱讀中的R
laf <- laf_open_fwf(paste(input$dir,"/",filename,sep=""), column_widths = col_width,
column_types=rep("character",length(col_width)),
column_names = column_names)
的表現還是不錯的,但我的問題是,可以說文件中有大約100,000行數據都符合固定寬度的定義;但在某些情況下,可能會有幾行數據「流氓」,因爲它們不符合每列的固定寬度 - 某些列中的數據,或者只是說一列可能更長或更短,並且發生這種情況時,這個閱讀器的輸出完全被破壞了。
我想那是什麼被解析之後的第二流氓行解析器遇到的每一個數據線時,無法正確解析。這種情況尤其是當流氓的數據行的最後一列有過多的數據(長於爲它定義的寬度)
那麼如何解決這個任何想法將不勝感激。
您可能需要使用'readLines()'並自己解析數據。 – Gopala
是的你是對的 - 我遵循這個邏輯,我現在有所有流氓記錄的rowNumbers和正確的記錄 - 但laf_open_fwf似乎通過打開文件連接工作 - 所以我需要一個文件只有正確的數據。 或者有什麼方法可以指定解析器只讀取選定的數據行? – Sandeep
不是我能看到的。如果你可以使用一些unix工具來清理這些行並將其清除,最簡單。 – Gopala