我正在R中为基于用户输入的字符串范围在同一目录中的.csv数据文件执行文件搜索。该字符串是文件名中的Julian构建日期代码,因此可以有多个文件,其名称中包含构建日期代码,但每个单元的其余文件名都不同(请参阅下面的输出示例)。我想要一个构建代码日期范围的这些文件名列表,每个列表元素一个文件名。当两个文件具有相同的构建代码时,我能够为每个列表元素获取一个文件名,除了,然后将它们放在一个元素中。当两个文件名在同一个元素中时,这会导致我的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"
Psuedo-code(不允许上传文件):
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)