以 `sep=,` 作为第一行将 csv 加载到 R
Loading csv into R with `sep=,` as the first line
我从 (PowerBI) 导出数据的程序将数据保存为 .csv 文件,但文件的第一行是 sep=,
,然后文件的第二行有 header(列名)。
示例假 .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 文件,然后在每次加载它之前手动删除第一行(如果我这样做,一切正常)但我必须导出一堆文件,这有点愚蠢又乏味。
如有任何帮助,我们将不胜感激。
有很多方法可以做到这一点。这是一个:
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)
您的文件可能采用 UTF-16 编码。请参阅 如何读取 UTF-16 文件:
我从 (PowerBI) 导出数据的程序将数据保存为 .csv 文件,但文件的第一行是 sep=,
,然后文件的第二行有 header(列名)。
示例假 .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 文件,然后在每次加载它之前手动删除第一行(如果我这样做,一切正常)但我必须导出一堆文件,这有点愚蠢又乏味。
如有任何帮助,我们将不胜感激。
有很多方法可以做到这一点。这是一个:
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)
您的文件可能采用 UTF-16 编码。请参阅