r - read.csv - 跳过行数不同的列

8

我的CSV文件顶部有5行信息,这些信息与文件本身无关,我不需要它们。

这些信息行只有2列,而标题和数据行(从第6行开始)有8列。这似乎是问题的原因。

我尝试使用read.csv中的skip函数跳过这些行,也使用了read.table。

df = read.csv("myfile.csv", skip=5)
df = read.table("myfile.csv", skip=5)

但是这仍然给我相同的错误信息,即:
Error in read.table("myfile.csv",  :empty beginning of file

另外:警告信息:
(注:本句为说明,非翻译内容)
1: In readLines(file, skip) : line 1 appears to contain an embedded nul
2: In readLines(file, skip) : line 2 appears to contain an embedded nul
...
5: In readLines(file, skip) : line 5 appears to contain an embedded nul

我怎样才能将这个.csv文件读入R,而不会因为前5行的空值导致问题?

有一个文件类型错误。我的CSV文件实际上是以“Unicode”存储的,尽管在文件夹的类型下面显示为“Microsoft Excel逗号分隔...”。 - datavoredan
1
这可能对您有用:fread函数可以在自动检测要跳过的行数后读取csv文件(https://dev59.com/1GUp5IYBdhLWcg3wXGkZ#15333597) - Jealie
2个回答

7

您可以尝试以下方法:

read.csv(text=readLines('myfile.csv')[-(1:5)])

这将最初将每一行存储在自己的向量元素中,然后删除前五行并将其余部分视为csv文件。


如果有一些列导致问题,你怎么跳过这些列?这里有一个例子:https://dev59.com/pm025IYBdhLWcg3wzZT3 - Léo Léopold Hertz 준영

0

您可以通过使用参数“skipNul”来消除警告信息;

text=readLines('myfile.csv', skipNul=True)

3
这仅仅是把消息清除了,但并没有实际解决问题。 - Bono

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接