繁体   English   中英

读取文件夹 R 中的最新 txt

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM