我希望将csv文件导入R,第一个非空行提供数据框列的名称.我知道你可以提供skip = 0参数来指定首先读取哪一行.但是,第一个非空行的行号可以在文件之间更改.
我如何计算出多少行为空,并为每个文件动态跳过它们?
正如评论中指出的那样,我需要澄清"空白"的含义.我的csv文件看起来像:
,,,
w,x,y,z
a,b,5,c
a,b,5,c
a,b,5,c
a,b,4,c
a,b,4,c
a,b,4,c
Run Code Online (Sandbox Code Playgroud)
这意味着一开始就有一些逗号.
read.csv自动跳过空行(除非你设置blank.lines.skip=FALSE).看到?read.csv
写完上面的内容之后,海报解释说空白行实际上并不是空白,但在其中有逗号,但逗号之间没有任何内容.在那种情况下,使用freaddata.table包来处理它.该skip=参数可以设置为在标头中找到的任何字符串:
library(data.table)
DT <- fread("myfile.csv", skip = "w") # assuming w is in the header
DF <- as.data.frame(DT)
Run Code Online (Sandbox Code Playgroud)
如果data.table可以作为返回值,则可以省略最后一行.