r - 跳过read.csv中的所有前导空行

标签 r import read.csv

我希望将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

这意味着开头有几行逗号。

最佳答案

read.csv自动跳过空白行(除非您设置blank.lines.skip=FALSE)。参见?read.csv
写完上面的内容后,发布者解释说,空行实际上不是空白,而是包含逗号,但逗号之间没有任何内容。在这种情况下,请使用data.table包中的fread处理该问题。 skip=参数可以设置为在标题中找到的任何字符串:

library(data.table)
DT <- fread("myfile.csv", skip = "w") # assuming w is in the header
DF <- as.data.frame(DT)

如果data.table可以作为返回值,则可以省略最后一行。

关于r - 跳过read.csv中的所有前导空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26456814/

相关文章:

在 R 中快速生成约 10^9 步骤的随机过程

Python:如何访问父模块中声明的变量

python - 在 Python 中创建一个新文件,其中包含两个数据帧上的常见匹配项

php - 如何控制 MySQL 中的最后一次导入

r - 如何检测 read.csv 的正确编码?

read.csv 用 `?` 替换 `.` 等列名字符,用 `-` 替换 `...`

R将文本字符串拆分为最后一个和第一个元素

r - 将匹配 NA 的 df 的字符行与所有内容进行比较,并根据比较创建新列或 df

r - read.table() 和 read.csv() 中的 skipNul = TRUE 有什么作用(除了跳过/忽略嵌入的空值)?

r - 在 R 中,如何将基于字符的矩阵转换为向量?