【发布时间】:2023-03-25 04:35:01
【问题描述】:
我正在尝试将 csv 文件及其名称作为日期读取到 for 循环中,然后在该文件实际存在时从该文件中打印出几列数据。我需要跳过我没有任何数据的日期和实际不存在的日期。当我输入我的代码时,没有输出,它只是空白。为什么我的代码不起作用?
options(width=10000)
options(warn=2)
for(a in 3:5){
for(b in 0:1){
for(c in 0:9){
for(d in 0:3){
for(e in 0:9){
mydata=try(read.csv(paste("201",a,b,c,d,e,".csv",sep="")), silent=TRUE)
if(class(mydata)=="try-error"){next}
else{
mydata$Data <- do.call(paste, c(mydata[c("LAST_UPDATE_DT","px_last")], sep=""))
print(t(mydata[,c('X','Data')]))
}
}}}}}
【问题讨论】:
-
如果你有兴趣使用
data.table(确保使用1.8.9),那么:rbindlist(lapply(files, fread))应该这样做。而且速度极快。 -
安装包:
install.packages("data.table", repos="http://R-Forge.R-project.org", type="source")
标签: r for-loop error-handling