从R中的文件名中读取日期并附加

时间:2017-10-12 17:39:15

标签: r

我在文件夹中有以下文件

UPS_REPLEN_ORDERS_09102017_A
UPS_REPLEN_ORDERS_10102017_A
UPS_REPLEN_ORDERS_11102017_A
再过60天。

我需要从相应的文件中提取日期并插入该文件的数据列中,然后附加所有60天的文件。

1 个答案:

答案 0 :(得分:0)

您能否更具体地了解您的最终目标?

这是使用正则表达式将文件导入R的方法,并通过substr从名称中提取日期。由于我不明白你把它们拉到R之后对文件和日期的意思,我无法帮助你完成下一步。

我假设您已将所有目标文件保存到可访问目录,所有文件都遵循您在此处给出的约定(即,它们以“UPS_REPLEN_ORDERS_”开头,后跟8位数日期,后跟一些其他字符,可能包括文件扩展名),并且目录中没有其他文件遵循此命名约定。

#set your working directory to wherever you've stored the files
setwd(dirname)

#declare your filename pattern using regular expressions
fpattern="^UPS_REPLEN_ORDERS_.*\\"

#find names matching this pattern in your current working directory
fnames=dir(getwd(),pattern=fpattern)

#extract the date from each filename
fdates=substr(fnames,19,26)

#loop to read files into R and modify as needed
nfiles=length(fnames)
for (i in 1:nfiles){
  infile=read.table(fnames[i]) #set read parameters as you need
  #other operations to be performed on the newly read-in file...
}