【问题标题】:Read the latest csv with pattern阅读带有模式的最新 csv
【发布时间】:2020-01-21 07:52:50
【问题描述】:

我正在尝试编写代码以将最新的 .csv 文件导入 R。它们应该是三个。首先,包含表达式“abc_def310”的最新 .csv 文件,第二个包含表达式“abc_def223”的最新 .csv 文件,第三个文件将是包含表达式“abc_def331”的最新 .csv。

到目前为止,我已经设法根据创建时间在目录中对 .csv 文件进行排序。如何继续?

data_files <- file.info(Sys.glob("*.csv"))
ordered<-row.names(data_files)[order(data_files$ctime)]

【问题讨论】:

    标签: r csv import


    【解决方案1】:

    文件按时间排序后,我们可以使用grep 查找包含特定单词的文件名并获取我们使用max 的最新文件

    data_files <- file.info(Sys.glob("*.csv"))
    ordered<-row.names(data_files)[order(data_files$ctime)]
    
    first_file <- max(grep('abc_def310', ordered))
    second_file <- max(grep('abc_def223', ordered))
    third_file<- max(grep('abc_def331', ordered))
    
    latest_files <- lapply(ordered[c(first_file, second_file, third_file)], read.csv)
    

    【讨论】:

    • 谢谢。如果我想要第二个最新文件,它将如何改变?
    • 使用headtail then.tail(grep('abc_def310', ordered), 1)[1] 会给你最新的文件,tail(grep('abc_def310', ordered), 2)[1] 第二个最新的。 head(grep('abc_def310', ordered), 1)[1] 会给你最旧的文件等等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 2011-07-08
    • 2013-10-21
    相关资源
    最近更新 更多