"Append" arquivos csv de diversos subdiretórios

Bom dia! Tenho um diretório com 50 subdiretórios sendo que cada um possui 11 arquivos csv. O que preciso é "empilhar" esses arquivos (em um único arquivo) e para isso estou fazendo o seguinte: filenames <- list.files () mydata <- do.call ("rbind", lapply (filenames, read.csv, header = TRUE)) Entretanto, gostaria de "automatizar" esse script, ou seja, o próprio comando fosse em cada subdiretório e fizesse o "append" (dos 550 arquivos csv) dando o resultado final. Alguém poderia me ajudar? Desde já muito obrigado!

Olá Alexandre, O comando list.dirs() lista todos os arquivos dentro de diretórios e subdiretórios à partir do atual. Se você estiver na diretório principal do seu projeto: filenames <- list.dirs() 2016-09-22 8:58 GMT-03:00 Alexandre Loures via R-br < r-br@listas.c3sl.ufpr.br>:
Bom dia!
Tenho um diretório com 50 subdiretórios sendo que cada um possui 11 arquivos csv. O que preciso é "empilhar" esses arquivos (em um único arquivo) e para isso estou fazendo o seguinte:
filenames <- list.files () mydata <- do.call ("rbind", lapply (filenames, read.csv, header = TRUE))
Entretanto, gostaria de "automatizar" esse script, ou seja, o próprio comando fosse em cada subdiretório e fizesse o "append" (dos 550 arquivos csv) dando o resultado final.
Alguém poderia me ajudar?
Desde já muito obrigado!
_______________________________________________ R-br mailing list R-br@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.

Alexandre, Basta usar o argumento "recursive" no seu comando list.files: filenames <- list.files (".", recursive=T) Greetings, -- Thiago V. dos Santos PhD student Land and Atmospheric Science University of Minnesota On Thursday, September 22, 2016 6:58 AM, Alexandre Loures via R-br <r-br@listas.c3sl.ufpr.br> wrote: Bom dia! Tenho um diretório com 50 subdiretórios sendo que cada um possui 11 arquivos csv. O que preciso é "empilhar" esses arquivos (em um único arquivo) e para isso estou fazendo o seguinte: filenames <- list.files () mydata <- do.call ("rbind", lapply (filenames, read.csv, header = TRUE)) Entretanto, gostaria de "automatizar" esse script, ou seja, o próprio comando fosse em cada subdiretório e fizesse o "append" (dos 550 arquivos csv) dando o resultado final. Alguém poderia me ajudar? Desde já muito obrigado! _______________________________________________ R-br mailing list R-br@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� c�igo m�imo reproduz�el.

Boa tarde, pessoal. Dependendo da situação poderá utilizar também o argumento full.names=T. list.files("DADOS", recursive=T) # [1] "CSV1/Text1.csv" "CSV1/Text2.csv" "CSV2/Text3.csv" list.files("DADOS", recursive=T, full=T) # [1] "DADOS/CSV1/Text1.csv" "DADOS/CSV1/Text2.csv" "DADOS/CSV2/Text3.csv" dir("DADOS", recursive=T, full=T) # [1] "DADOS/CSV1/Text1.csv" "DADOS/CSV1/Text2.csv" "DADOS/CSV2/Text3.csv" ================================================ Éder Comunello Researcher at Brazilian Agricultural Research Corporation (Embrapa) DSc in Agricultural Systems Engineering (USP/Esalq) MSc in Environ. Sciences (UEM), Agronomist (UEM) --- Embrapa Agropecuária Oeste, Dourados, MS, Brazil |<O>| ================================================ GEO, -22.2752, -54.8182, 408m UTC-04:00 / DST: UTC-03:00 2016-09-22 11:38 GMT-04:00 Thiago V. dos Santos via R-br < r-br@listas.c3sl.ufpr.br>:
Alexandre,
Basta usar o argumento "recursive" no seu comando list.files:
filenames <- list.files (".", recursive=T)
Greetings, -- Thiago V. dos Santos
PhD student Land and Atmospheric Science University of Minnesota
On Thursday, September 22, 2016 6:58 AM, Alexandre Loures via R-br < r-br@listas.c3sl.ufpr.br> wrote:
Bom dia!
Tenho um diretório com 50 subdiretórios sendo que cada um possui 11 arquivos csv. O que preciso é "empilhar" esses arquivos (em um único arquivo) e para isso estou fazendo o seguinte:
filenames <- list.files () mydata <- do.call ("rbind", lapply (filenames, read.csv, header = TRUE))
Entretanto, gostaria de "automatizar" esse script, ou seja, o próprio comando fosse em cada subdiretório e fizesse o "append" (dos 550 arquivos csv) dando o resultado final.
Alguém poderia me ajudar?
Desde já muito obrigado!
_______________________________________________ R-br mailing list R-br@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� c�igo m�imo reproduz�el. _______________________________________________ R-br mailing list R-br@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 fornea cdigo mnimo reproduzvel.

Resolvido pessoal. Muito obrigado! Em 22/09/2016 15:39, Éder Comunello escreveu:
Boa tarde, pessoal.
Dependendo da situação poderá utilizar também o argumento full.names=T.
list.files("DADOS", recursive=T) # [1] "CSV1/Text1.csv" "CSV1/Text2.csv" "CSV2/Text3.csv"
list.files("DADOS", recursive=T, full=T) # [1] "DADOS/CSV1/Text1.csv" "DADOS/CSV1/Text2.csv" "DADOS/CSV2/Text3.csv"
dir("DADOS", recursive=T, full=T) # [1] "DADOS/CSV1/Text1.csv" "DADOS/CSV1/Text2.csv" "DADOS/CSV2/Text3.csv"
================================================ Éder Comunello Researcher at Brazilian Agricultural Research Corporation (Embrapa) DSc in Agricultural Systems Engineering (USP/Esalq) MSc in Environ. Sciences (UEM), Agronomist (UEM) --- Embrapa Agropecuária Oeste, Dourados, MS, Brazil |<O>| ================================================ GEO, -22.2752, -54.8182, 408m UTC-04:00 / DST: UTC-03:00
2016-09-22 11:38 GMT-04:00 Thiago V. dos Santos via R-br <r-br@listas.c3sl.ufpr.br <mailto:r-br@listas.c3sl.ufpr.br>>:
Alexandre,
Basta usar o argumento "recursive" no seu comando list.files:
filenames <- list.files (".", recursive=T)
Greetings, -- Thiago V. dos Santos
PhD student Land and Atmospheric Science University of Minnesota
On Thursday, September 22, 2016 6:58 AM, Alexandre Loures via R-br <r-br@listas.c3sl.ufpr.br <mailto:r-br@listas.c3sl.ufpr.br>> wrote:
Bom dia!
Tenho um diretório com 50 subdiretórios sendo que cada um possui 11 arquivos csv. O que preciso é "empilhar" esses arquivos (em um único arquivo) e para isso estou fazendo o seguinte:
filenames <- list.files () mydata <- do.call ("rbind", lapply (filenames, read.csv, header = TRUE))
Entretanto, gostaria de "automatizar" esse script, ou seja, o próprio comando fosse em cada subdiretório e fizesse o "append" (dos 550 arquivos csv) dando o resultado final.
Alguém poderia me ajudar?
Desde já muito obrigado!
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto:R-br@listas.c3sl.ufpr.br> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-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 <http://www.leg.ufpr.br/r-br-guia>) e forne� c�igo m�imo reproduz�el. _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto:R-br@listas.c3sl.ufpr.br> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-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 <http://www.leg.ufpr.br/r-br-guia>) e fornea cdigo mnimo reproduzvel.
-- *Alexandre Rodrigues Loures* Doutorando em Economia Aplicada Universidade Federal da Paraíba - UFPB Centro de Ciências Sociais Aplicadas - CCSA Programa de Pós-Graduação em Economia - PPGE Site: www.ccsa.ufpb.br/ppge orcid www.orcid.org/0000-0002-1288-0135
participantes (4)
-
Alexandre Loures
-
Raphael Saldanha
-
Thiago V. dos Santos
-
Éder Comunello