【发布时间】:2011-08-22 16:21:08
【问题描述】:
我的工作文件夹中有一系列 .csv 文件,我编写了一个代码来获取所有这些文件,对它们做我想做的所有事情,最后,将结果写入另一个文件,将“_pp”添加到原文件名:
random <- grep(".csv",list.files(), fixed=TRUE)
files <- list.files()[random]
for (igau in 1:length(files))
{
(.......)
file <- paste("H:/METEO_data/AEMET_2/",files[igau],"_pp.csv",sep="")
write.table(d,file,row.names=TRUE, col.names=NA, sep=" ")
}
问题是当我想要的是“3059_pp.csv”时,我得到了“3059.csv_pp.csv”。有没有办法取出第一个 .csv?
谢谢
【问题讨论】:
-
提示:使用
seq_along(files)而不是1:length(files)。当没有找到文件时,第一个是numeric(0)(并且循环什么都不做),第二个是1:0=c(1,0),你会得到随机效果(例如,在你的情况下它将写入两个文件:"H:/METEO_data/AEMET_2/NA_pp.csv"和"H:/METEO_data/AEMET_2/_pp.csv")。