[R-br] Converter arquivos RData em csv dentro de um loop

Lucas Barbosa lucasbcr em gmail.com
Terça Abril 10 15:29:41 BRT 2012


Marcos,

Se vc tem certeza de que cada RData contém somente um data.frame, acho que
isso vai funcionar:

arquivos <- list.files()
arquivos <- grep(".*\\.RData$", arquivos, ignore.case=T, value=T) #pega só
os arquivos .RData
require(mgcv)
for(nomes in arquivos){

   dframe <- readRDS(nomes)
   write.csv2(dframe, file=paste(dframe, ".csv", sep=""), row.names=FALSE)
   rm(dframe)

}



Em 9 de abril de 2012 23:33, Marcos Silva <marcosfs2006 em gmail.com> escreveu:

> Olá Pessoal,
>
> Eu tenho, em um diretório, um conjunto de mais ou menos 30 arquivos RData
> que armazenam data frames. O que eu gostaria de fazer é escrever um scrip
> que lesse os nomes dos arquivos RData no referido diretorio e os exportasse
> no formato .csv.
>
> A abordagem que estou tentanto desenvolver é a seguinte:
>
>
> arquivos <- list.files()
>
> for(nomes in arquivos){
>
>    dframe <- load(nomes)
>    load(nomes)
>    write.csv2(????, file=paste(dframe, ".csv", sep=""), row.names=FALSE)
>
> rm(list=ls())
> }
>
> O problema para o qual ainda não consegui vislumbrar uma solução é como
> usar o write.csv2() nesse contexto.
> Os arquivos RData tem nomes no seguinte padrão:
> "Emp_DETRAN_2009.2012fev.RData" e o data frame contido no arquivo tem nome
> "empDETRAN". Basicamente o que muda de um arquivo para o outro é o nome do
> do órgão.
>
> Possivelmente exista outra abordagem menos macarronica e mais direta ao
> ponto...
>
> Abs.
>
>
>
> --
> Marcos F. Silva
> http://sites.google.com/site/marcosfs2006
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120410/c268402b/attachment.html>


Mais detalhes sobre a lista de discussão R-br