r - 如何在R中的特定目录中插入文本
问题描述
我正在寻找一种将字符(名称)插入目录并创建 .csv 文件的优雅方法。我找到了一种可能的解决方案,但是我正在寻找另一种没有“替换”但在特定字符之间“插入”文本的解决方案。
#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)
解决方案
我喜欢sprintf
“填充空白”样式字符串构造的语法:
name <- c("John Johnson")
sprintf("C:/Users/uzytkownik/Desktop/%s.csv", name)
# [1] "C:/Users/uzytkownik/Desktop/John Johnson.csv"
另一种选择,如果您不能将 放在%s
目录字符串中,则使用sub
. 这是替换,但它替换.csv
为<name>.csv
.
dir <- c("C:/Users/uzytkownik/Desktop/.csv")
sub(".csv", paste0(name, ".csv"), dir, fixed = TRUE)
# [1] "C:/Users/uzytkownik/Desktop/John Johnson.csv"
推荐阅读
- javascript - 如何在一个函数中获取行数据并提交 from
- javascript - 从表中删除一行 (HTML/JS)
- node.js - 限制 REST API 仅访问我的网站
- python - 所有(多个)Pandas DataFrame 的打印大小
- ssl - Configuring Kafka SSL with Let's Encrypt
- postgresql - Postgres' insert fail results in doubled database size - VACUUM FULL does not reclaim space
- catboost - Catboost 自定义损失函数
- laravel - 如果更新时未上传新图像,如何保留旧图像。拉拉维尔
- sql - “如果不存在则创建扩展”并没有真正检查扩展是否不存在
- python - 在 pandas 中,如何用来自另一列的模式提取填充 Nan?