【发布时间】:2016-06-22 21:23:41
【问题描述】:
我从 (PowerBI) 导出数据的程序将数据保存为 .csv 文件,但文件的第一行是 sep=,,然后文件的第二行有标题(列名)。
假 .csv 文件示例:
sep=,
Initiative,Actual to Estimate (revised),Hours Logged,Revised Estimate,InitiativeType,Client
FakeInitiative1 ,35 %,320.08,911,Platform,FakeClient1
FakeInitiative2,40 %,161.50,400,Platform,FakeClient2
我正在使用这个命令来读取文件:
initData <- read.csv("initData.csv",
row.names=NULL,
header=T,
stringsAsFactors = F)
但我不断收到错误消息,指出列数错误(因为它认为第一行告诉它列数)。
如果我改为使用header=F,则它会加载,但是当我使用names(initData) <- initData[2,] 时,名称会包含空格和非法字符,它会破坏我的程序的其余部分。讨厌。
有谁知道如何告诉 R 忽略第一行?我可以在文本编辑器中进入 .csv 文件,然后在每次加载之前手动删除第一行(如果我这样做,一切正常)但是我必须导出一堆文件,这有点愚蠢又乏味。
任何帮助将不胜感激。
【问题讨论】:
-
尝试 skip=1(read.csv 的额外参数) - 这将跳过第一行
-
它不会“认为第一行告诉它列数”——它只是希望所有行都有相同的列数。
-
参见
data.table::fread,它尝试按默认预期读取数据。