我从(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文件,并在每次加载之前手动删除第一行(如果我这样做,一切正常)但我必须导出一堆文件,这有点愚蠢而且乏味。
非常感谢任何帮助。
答案 0 :(得分:1)
有很多方法可以做到这一点。这是一个:
all_content = readLines("initData.csv")
skip_first_line = all_content[-1]
initData <- read.csv(textConnection(skip_first_line),
row.names=NULL,
header=T,
stringsAsFactors = F)
答案 1 :(得分:0)
Your file could be in a UTF-16 encoding. See hrbrmstr's answer in how to read a UTF-16 file: