我目前有以下代码来读取目录中的所有.cvs文件:
test <- NULL
for (f in dir("/Users/jackdavis/Desktop/Results/", pattern=".csv", recursive=T)) {
print(f)
tmp <- read.csv(paste("/Users/jackdavis/Desktop/Results/",f,sep=""))
test1 <- rbind(test,data.frame(ID=f,
Date=tmp$TEST_DATE,
Time=tmp$TEST_TIME,
Machine=tmp$DEVICE,
Op=tmp$OPERATOR,
PTC=pcq$SAMPLECODE
))
}
它读取的文件采用这种文件名格式("FMQ_Results_TB_1051-1080_1633016575.csv")。但我想让它忽略带有"rerun"的文件名在(例如"FMQ_Results_TB_1051-1080_rerun_1633016575.csv") -我如何修改代码来做到这一点?
一个可能的解决方案:
library(stringr)
p <- dir("/Users/jackdavis/Desktop/Results/", pattern=".csv", recursive=T)
idx <- str_detect(p,"rerun")
p <- p[-idx]
test <- NULL
for (f in p) {
print(f)
tmp <- read.csv(paste("/Users/jackdavis/Desktop/Results/",f,sep=""))
test1 <- rbind(test,data.frame(ID=f,
Date=tmp$TEST_DATE,
Time=tmp$TEST_TIME,
Machine=tmp$DEVICE,
Op=tmp$OPERATOR,
PTC=pcq$SAMPLECODE
))
}