[英]Read latest txt in a Folder R
我正在处理存储库中的库存文件,每天都会生成一个新文件:
例如:“stock2021-11-05.txt”
我需要读取最后生成的文件,或者在它的缺陷中读取所有以单词 stock 开头的文件,加入它们。
我目前使用以下代码:
fileList <- list.files( pattern= "*.txt")
但这给我带来了存储库中的所有 txt 文件,而不仅仅是以单词 stock 开头的那些。
我将不胜感激。
谢谢!
只需使用:
list.files(pattern = "stock.*\\.txt")
查找所有以“stock”开头并以“.txt”结尾的文件
查看 stringr 包中的这个 REGEX 备忘单以了解更多信息: https : //github.com/rstudio/cheatsheets/blob/main/strings.pdf
所以你设法过滤掉了不是 .txt 文件的文件。 缺少两个步骤。 现在可能的fileList可能是:
fileList <- c("stock2021-11-05.txt",
"stock2020-11-15.txt",
"stock2021-02-05.txt",
"vwxyz2018-01-01.txt")
1 - 过滤库存文件
> fileList_stock <- grep("^stock", fileList, value = TRUE)
> fileList_stock
[1] "stock2021-11-05.txt" "stock2020-11-15.txt" "stock2021-02-05.txt"
2 - 获取最新文件
> sort(fileList_stock, decreasing = TRUE)[1]
[1] "stock2021-11-05.txt"
1+2 - 包装功能
> get_last_stock_file <- function(x){
+ grep("^stock", x, value = TRUE) %>% sort(decreasing = TRUE) %>% .[1]
+ }
> get_last_stock_file(fileList)
[1] "stock2021-11-05.txt"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.