Список имен файлов заставляет только одно имя файла в каждом элементе - PullRequest
0 голосов
/ 24 мая 2018

Я выполняю поиск файлов в R для файлов данных .csv в том же каталоге для диапазона строк на основе ввода пользователя.Строка представляет собой юлианский код даты сборки в имени файла, поэтому может быть несколько файлов с кодом даты сборки в имени, но остальная часть имени файла отличается для каждого модуля (см. Пример вывода ниже).Я хочу список этих имен файлов для диапазона дат кода сборки, по одному имени файла на элемент списка.Я могу получить одно имя файла для каждого элемента списка , за исключением , когда два файла имеют один и тот же код сборки, тогда они объединяются в один элемент.Это приводит к сбою моего вызова read.csv, когда два имени файла находятся в одном и том же элементе:

Error in file(file, "rt") : invalid 'description' argument

Этот список имен файлов станет списком фреймов данных, по одному на элемент, поэтому их нельзя смешивать.Как я могу указать, что в каждый элемент списка входит только одно имя файла?


Проблемный вывод:

[[1]]
[1] "C:/...125872C15278001781_20180417_095231.csv"

[[2]]
[1] "C:/...125872D15309005835_20180516_150200.csv"

[[3]]
[1] "C:/...125872D15314006345_20180516_151817.csv"

[[4]]
[1] "C:/...125872D16178000189_20180516_150743.csv"

[[5]]
[1] "C:/...125872E**16313**000033_20180516_141938.csv"<BR>
[2] "C:/...125872E**16313**000129_20180314_092803.csv"

Желаемый результат:

[[1]]
[1] "C:/...125872C15278001781_20180417_095231.csv"

[[2]]
[1] "C:/...125872D15309005835_20180516_150200.csv"

[[3]]
[1] "C:/...125872D15314006345_20180516_151817.csv"

[[4]]
[1] "C:/...125872D16178000189_20180516_150743.csv"

[[5]]
[1] "C:/...125872E16313000033_20180516_141938.csv"

[[6]]
[1] "C:/...125872E16313000129_20180314_092803.csv"

Псевдо-код (не разрешено загружать файлы):

Fun.tempFile <- function(y){

  tempfileName <- paste0(workingDirectory, "/EEPROM_Dump_*", y, "*.csv", collapse = "")

  tempfileName2 <- Sys.glob(tempfileName, dirmark = FALSE) 
  tempfileName2

  return(tempfileName2)
}

dateCodeRange <- as.character(c(begDateJ:endDateJ))

dateCodeFileNamesAll <- (c(lapply(dateCodeRange, Fun.tempFile)))

filenames <- unique(dateCodeFileNamesAll[lapply(dateCodeFileNamesAll,length)>0] )

myData = lapply(filenames, read.csv, header = FALSE)  
...