如何在R中的特定in目录中插入文本
我正在寻找一种优雅的方式插入字符(名称)到目录中,并创建.csv文件。我找到了一个可能的解决方案,但是我正在寻找另一个,没有“替换”,而是在特定字符之间“插入”文本如何在R中的特定in目录中插入文本,r,text,replace,insert,qdapregex,R,Text,Replace,Insert,Qdapregex,我正在寻找一种优雅的方式插入字符(名称)到目录中,并创建.csv文件。我找到了一个可能的解决方案,但是我正在寻找另一个,没有“替换”,而是在特定字符之间“插入”文本 #lets start df <-data.frame() name <- c("John Johnson") dir <- c("C:/Users/uzytkownik/Desktop/.csv") #how to insert "name" vector between "Desktop
#lets start
df <-data.frame()
name <- c("John Johnson")
dir <- c("C:/Users/uzytkownik/Desktop/.csv")
#how to insert "name" vector between "Desktop/" and "." to get:
dir <- c("C:/Users/uzytkownik/Desktop/John Johnson.csv")
write.csv(df, file=dir)
#???
#I found the answer but it is not very elegant in my opinion
library(qdapRegex)
dir2 <- c("C:/Users/uzytkownik/Desktop/ab.csv")
dir2<-rm_between(dir2,'a','b', replacement = name)
> dir2
[1] "C:/Users/uzytkownik/Desktop/John Johnson.csv"
write.csv(df, file=dir2)
#让我们开始吧
df我喜欢sprintf
用于“填充空白”样式字符串构造的语法:
name <- c("John Johnson")
sprintf("C:/Users/uzytkownik/Desktop/%s.csv", name)
# [1] "C:/Users/uzytkownik/Desktop/John Johnson.csv"
我喜欢“填空”样式字符串构造的sprintf
语法:
name <- c("John Johnson")
sprintf("C:/Users/uzytkownik/Desktop/%s.csv", name)
# [1] "C:/Users/uzytkownik/Desktop/John Johnson.csv"
这应该能满足你的需要
dir <- "C:/Users/uzytkownik/Desktop/.csv"
name <- "joe depp"
dirsplit <- strsplit(dir,"\\/\\.")
paste0(dirsplit[[1]][1],"/",name,".",dirsplit[[1]][2])
dir这应该可以满足您的需要
dir <- "C:/Users/uzytkownik/Desktop/.csv"
name <- "joe depp"
dirsplit <- strsplit(dir,"\\/\\.")
paste0(dirsplit[[1]][1],"/",name,".",dirsplit[[1]][2])
dir假设您有一个列表,其中包含要保存的某些数据结构的所需名称,例如:
names = [“file_1”, “file_2”, “file_3”]
现在,您要更新保存文件的路径,添加名称和扩展名
path = “/Users/Documents/Test_Folder/”
extension = “.csv”
实现此功能的一个简单方法是使用paste()创建完整路径,作为Lappy中write.csv()的输入,如下所示:
lapply(names, function(x) {
write.csv(x = data,
file = paste(path, x, extension))
}
)
这种方法的好处是,您可以迭代包含文件名的列表,最终路径将自动更新。一种可能的扩展是定义一个带有扩展名的列表,并相应地更新路径。假设您有一个列表,其中包含要保存的某些数据结构的所需名称,例如:
names = [“file_1”, “file_2”, “file_3”]
现在,您要更新保存文件的路径,添加名称和扩展名
path = “/Users/Documents/Test_Folder/”
extension = “.csv”
实现此功能的一个简单方法是使用paste()创建完整路径,作为Lappy中write.csv()的输入,如下所示:
lapply(names, function(x) {
write.csv(x = data,
file = paste(path, x, extension))
}
)
这种方法的好处是,您可以迭代包含文件名的列表,最终路径将自动更新。一种可能的扩展是定义一个带有扩展名的列表,并相应地更新路径。我发现paste0()
是一种方法,只要您分别存储目录和扩展名:
path <- "some/path/"
file <- "file"
ext <- ".csv"
write.csv(myobj, file = paste0(path, file, ext))
path我发现paste0()
是一种方法,只要您分别存储目录和扩展名:
path <- "some/path/"
file <- "file"
ext <- ".csv"
write.csv(myobj, file = paste0(path, file, ext))
路径看起来不错,我以后会试试看。看起来不错,我以后会试试看