From cf303546485a6b847cd0563d7fc2dc7fd9601d50 Mon Sep 17 00:00:00 2001 From: ademant Date: Tue, 28 May 2019 06:10:58 +0200 Subject: [PATCH] change import --- import_sql.r | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/import_sql.r b/import_sql.r index c54d2d0..175acae 100644 --- a/import_sql.r +++ b/import_sql.r @@ -1,6 +1,6 @@ library(foreach) -indata<-read.table("/home/pi/rasolar/data_433046.txt",fill=TRUE,stringsAsFactors=FALSE) +indata<-read.table("/home/ademant/src/rasolar/data/data_433058.txt",fill=TRUE,stringsAsFactors=FALSE) raw_dat=unlist(sapply(1:nrow(indata),function(i){return(strsplit(indata[i,],";")[[1]])})) var_names=unique(sapply(1:length(raw_dat),function(i){return(head(strsplit(raw_dat[i],":")[[1]],1))})) @@ -10,10 +10,15 @@ names(raw_row)<-var_names intable<-foreach(i=1:nrow(indata),.combine=rbind)%do%{ tid<-strsplit(indata[i,],";")[[1]] - tout<-raw_row - for(j in tid){ - ttid<-strsplit(j,":")[[1]] - tout[ttid[1]]<-as.numeric(ttid[2]) + tout<-as.data.frame(t(sapply(tid,function(i){return(strsplit(i,":")[[1]])}))) + tout[,2]<-as.numeric(as.character(tout[,2])) + tout[,1]<-as.character(tout[,1]) + names(tout)<-c("var","val") + tout$time<-NA + if("time"%in%tout$var){ + tout$time<-head(tout[tout$var=="time","val"],1) + tout<-tout[tout$var!="time",] } return(tout) } +solar_table<-rbind(solar_table,intable)