Browse Source

Lecture des formats

master
unknown 10 years ago
parent
commit
2cb6ee97b7
1 changed files with 30 additions and 6 deletions
  1. +30
    -6
      R/charger.R

+ 30
- 6
R/charger.R View File

@@ -28,21 +28,45 @@ charger <- function(fichier,nom=NULL,feuille=1)
return -1
}
if (grepl("\\.csv$",fichier) || grepl("\\.txt$",fichier))
x<-read.csv2(fichier)
x<-read.csv2(fichier,encoding="ISO-8859-1")
else if (grepl("\\.xlsx?$",fichier))
x<-read.xlsx(fichier,feuille)
x<-read.xlsx(fichier,feuille,encoding="ISO-8859-1")
if (file.exists("labels.txt"))
if (file.exists("labels.sas"))
{
con=file("labels.txt","r",encoding="ISO-8859-1")
labels=readLines(con)
con=file("labels.sas","r",encoding="ISO-8859-1")
labelsfile=readLines(con)
close(con)
labels=labels[grepl('^ *\\w*? *= *\\".*?\\" *$',labels)]
labels=labelsfile[grepl('^ *\\w*? *= *\\".*?\\" *$',labelsfile)]
labels=paste(labels,collapse=",")
label_exe = paste("label(x)<-c(",labels,")")
eval(parse(text=label_exe))
}
if (file.exists("formats.sas"))
{
formats=list(0)
con=file("formats.sas","r",encoding="ISO-8859-1")
formatsfile=readLines(con)
close(con)
formatsfile=sub("^[[:space:]]*","",formatsfile)
formatsfile=sub("[[:space:]]*$","",formatsfile)
formatsfile=formatsfile[grepl("^value *\\w",formatsfile) | grepl("\\d* *= *\\'.*?\\'",formatsfile)]
formatsfile=sub("[[:space:]]*=[[:space:]]","=",formatsfile)
formatsfile=sub("^(\\d+)","\\'\\1\\'",formatsfile)
for (format in formatsfile)
{
if (grepl("^value *\\w",format))
formats[[strsplit(format," ")[[1]][2]]]<-character(0)
else
{
formats[[length(formats)]]<-c(formats[[length(formats)]],eval(parse(text=format)))
}
}
formats[[1]]<-NULL
print(formats)
}
assign(".attachd",nom,pos=1)
assign(nom,x,pos=1)
attach(eval(parse(text=.attachd)),name=.attachd)

Loading…
Cancel
Save