In thinking about this a bit more here is an even shorter solution where Lines.raw is as before:
# Lines <- readLines("myfile.ini") Lines <- readLines(textConnection(Lines.raw)) Lines2 <- chartr("[]", "==", Lines) DF <- read.table(textConnection(Lines2), as.is = TRUE, sep = "=", fill = TRUE) L <- DF$V1 == "" subset(transform(DF, V3 = V2[which(L)[cumsum(L)]])[1:3], V1 != "") On 6/12/07, Gabor Grothendieck <[EMAIL PROTECTED]> wrote: > Here is some code. It replaces [ and ] with = sign and reads the result > into a data frame, DF. DF2 is similar except the section is now in V3. > DF3 is like like DF2 except sections are carried forward and finally > we remove the rows which only had sections. > > Lines.raw <- "[Section1] > var1=value1 > var2=value2 > [Section2] > A=value3 > B=value4 > " > > Lines <- readLines(textConnection(Lines.raw)) > Lines2 <- chartr("[]", "==", Lines) > DF <- read.table(textConnection(Lines2), as.is = TRUE, sep = "=", fill = TRUE) > DF2 <- transform(DF, V3 = ifelse(V1 == "", V2, NA)) > L <- !is.na(DF2$V3) > DF3 <- transform(DF2, V3 = V3[c(NA, which(L))[cumsum(L)+1]]) > subset(DF3, V1 != "") > > The result is: > > V1 V2 V3 > 2 var1 value1 Section1 > 3 var2 value2 Section1 > 5 A value3 Section2 > 6 B value4 Section2 > > > On 6/12/07, Earl F. Glynn <[EMAIL PROTECTED]> wrote: > > I need to process some datasets where the configuration information was > > stored in .INI-like files, i.e., text files with sections like this: > > > > [Section1] > > var1=value1 > > var2=value2 > > [Section2] > > A=value3 > > B=value4 > > > > ... > > > > >From Google and other searches I haven't found any package, or function > > within a package, that reads .INI files into an R list, or other data > > structure. > > > > > > > > Any suggestions, or do I need to write my own? > > > > efg > > > > Earl F. Glynn > > Stowers Institute for Medical Research > > > > ______________________________________________ > > R-help@stat.math.ethz.ch mailing list > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, reproducible code. > > > ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.