这对我来说是一个非常复杂的问题,我希望有人能帮助我。
我的工作目录中有大约500个csv文件。每个csv文件都有三列数据。但是,只有第二列和第三列具有列名,而第一列没有列名。例如,我的一个示例csv文件如下所示:
name_1 name_2
23 34 65
43 34 23
54 12 21
65 12 23
76 14 23
76 45 12
87 76 54
78 21 65
78 23 45
我想做的是:
1)读取R
中的每个csv文件2)将列名('col1')赋予第一列
3)将文件保存回工作目录。
我知道我需要展示到目前为止我所做的事情,但事情是我没有用这一点移动,并且完全不知道如何去做?如果有人能帮助我,我将非常感激。
非常感谢
答案 0 :(得分:1)
filenames = list.files(pattern='[.]csv')
for(i in 1:length(filenames)){
f <- read.csv(filenames[i],header=TRUE)
colnames(f)[1] = "col1"
write.csv(f, file = filenames[i], row.names=FALSE)
}
答案 1 :(得分:0)
看看是否有效:
设置工作目录:
dir='/yourpath/'
setwd(dir)
使用list.files
获取所有带扩展程序&#39; .csv&#39;的文件列表,读取数据,重命名列并覆盖csv
处理所有文件
lapply(list.files(pattern = "[.csv]$"),
function(x) {
cat('Processing file:', x, '\n');
df <- read.csv(x, stringsAsFactors = FALSE, header = TRUE);
colnames(df)[1] <- 'col1';
write.csv(df, x);
}
)