【问题标题】:R character substringR 字符子串
【发布时间】:2014-08-25 20:28:11
【问题描述】:

我有一个文件夹,里面装满了文件,名称类似于“CH7Data_20130401T130110.csv”、“CH7Data_20130401T130610.csv”等。

我使用以下命令获得了该文件夹中所有文件的列表

filenames=list.files(path = "//folder location", pattern = NULL, all.files = FALSE,full.names = FALSE, recursive = FALSE,ignore.case = FALSE, include.dirs = FALSE, no.. = FALSE)

现在我想获取一个字符数组,其中包含所有文件名的时间戳。我想从每个文件名中提取 _ 和 . 最有效的方法是什么?我开始使用 substring 和 unlist 命令,但它们似乎效率低下,因为我必须使用多个。

最后我怎样才能将这些时间戳向量转换为实际时间的向量?

【问题讨论】:

    标签: r timestamp substring


    【解决方案1】:
    filenames <- c("CH7Data_20130401T130110.csv", "CH7Data_20130401T130610.csv")
    timestamps <- gsub(".*_([^.]+).*", "\\1", filenames)
    ## [1] "20130401T130110" "20130401T130610"
    as.POSIXlt(timestamps, format = "%Y%m%dT%H%M%S")
    ## [1] "2013-04-01 13:01:10 PDT" "2013-04-01 13:06:10 PDT"
    

    【讨论】:

    • 我将按降序对时间值的数组/向量进行排序。有什么快速的方法可以从第一个元素中减去第二个元素,从第二个元素中减去第三个元素等等?我想找出每个文件之间的平均时间差
    • @user2543622 见?diff
    猜你喜欢
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 2015-06-14
    • 2018-04-01
    相关资源
    最近更新 更多