我尝试使用下面的代码读取大文件使用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