R语言对文件的操作:接上一篇,由于处理数据完成后,需要将每个文件中的数据进行汇总,但是数据太多,如果使用复制、剪切、粘贴操作,将造成巨大的工作量,所以写了一个对文件进行处理的操作,主要讲文件夹中的某些文件提取出来。放到一个自己想放的文件夹内,以方便汇总。
主要操作:将工作目录
G:/刘拴朋/MSRDailyActivity3D (MSR Daily Activity 3D dataset/
下的process_1--》process_8文件夹中的文件中,文件名中含有skeleton.txt的文件提取到all_file_1--》all_file_8中。
程序如下:
#设置文件操作路径
setwd("G:/刘拴朋/MSRDailyActivity3D (MSR Daily Activity 3D dataset/")
for(i in 1:8)
{
i <- as.character(i)
name <- "process_"
names<-paste(name,i,sep="")
filenames = list.files(names)#将文件夹下的所有文件放到filenames中
#在process_i的文件夹下在创建文件夹all_file
pathsub <- paste("process_",i,sep="")
path = paste("./",pathsub,"/","all_file_",i,sep="")
dir.create(path)
#pathsub <- paste("./",pathsub1,"/","all_file_",i,sep="")
for(filename in filenames)
{
if(grepl("skeleton1.txt", filename))#判断后缀名中是否包含skeleton1
{
#将其复制出来
filename1 <- paste("./",pathsub,"/",filename,sep="")
file.copy(filename1,path)#将其复制到all_files文件夹内
#print(x)
#x<-x+1
}
}
}
rm(list=ls())
path = 'J:/lab/EX29 --在R语言中进行文件(夹)操作'
setwd(path)
cat("file A\n", file="A") #创建一个文件A,文件内容是'file A','\n'表示换行,这是一个很好的习惯
cat("file B\n", file="B") #创建一个文件B
file.append("A", "B") #将文件B的内容附到A内容的后面,注意没有空行
file.create("A") #创建一个文件A, 注意会覆盖原来的文件
file.append("A", rep("B", 10)) #将文件B的内容复制10便,并先后附到文件A内容后
file.show("A") #新开工作窗口显示文件A的内容
file.copy("A", "C") #复制文件A保存为C文件,同一个文件夹
dir.create("tmp") #创建名为tmp的文件夹
file.copy(c("A", "B"), "tmp") #将文件夹拷贝到tmp文件夹中
list.files("tmp") #查看文件夹tmp中的文件名
unlink("tmp", recursive=F) #如果文件夹tmp为空,删除文件夹tmp
unlink("tmp", recursive=TRUE) #删除文件夹tmp,如果其中有文件一并删除
file.remove("A", "B", "C") #移除三个文件