Olá a todos.
Preciso importar um grande número de arquivos xls para o R. Eu criei uma função para automatizar o processo. Vou compartilhar minha solução. Mas acredito que exista algo mais adequado para resolver. Conto com o apoio de vcs.
#Criando uma função para importar vários arquivos xlsx
i=0
datas = seq.Date(from = as_date(“2013-01-01”), as_date(“2019-01-01”), by=“year”)
dt = datas[i+1]
carregarArquivo = function(dt, k){
caminho2 = format(dt, “EstimativaPop/estimativa_%Y_dou.xls” )
lerArquivo = read_excel(caminho2, skip = 2, sheet = 2)
municipios = lerArquivo[c(103,105,117,128,129,135,136),c(k)]
}
Carregando os arquivos
i=0
estAno = carregarArquivo(dt, 5)
for (i in 1:length(datas)) {
dt = datas[i+1]
estAno[i+1] = carregarArquivo(dt, 5)
}
Boa tarde Hidelbrando,
Não sei se entendi exatamente o que tu está querendo fazer, mas tenho uma sugestão que é útil pra mim quando quero fazer a leitura de vários arquivos:
Primeiro a função list files vai trazer todos os caminhos “data/xls/arquivo_exemplo.xls” para dentro do vec nomes.
vec_nomes <- list.files(“data/xls”, full.names = TRUE)
Segundo com a função map tu cria uma lista com todos arquivos.
lista_arquivos <- vec_nomes %>%
purrr::map(readxl::read_excel)
lista_arquivos
elemento 1 – primeiro arquivo
elemento 2 – segundo arquivo
.
.
names(lista_arquivos) <- vec_nomes
Depois tu renomeia cada elemento com os nomes da lista.
3 curtidas
Olá!
Uma maneira de exportar vários arquivos de uma vez é:
base <-
list.files(path = "pasta-com-os-arquivos", full.names = TRUE, pattern = ".csv") %>%
purrr::map(readr::read_csv2) %>%
dplyr::bind_rows()
Onde no path você coloca o caminho na sua pasta, e pattern são os arquivos que você quer exportar, por exemplo “.csv” ele vai exportar todos os arquivos CSV
3 curtidas
Obrigado pela dica. Era exatamente o que estava precisando. Vc ainda foi um pouco a mais e no código ainda junto do dois artigo.
Gratidão.
Excelente. Vou tentar essa solução. Sua dica com a da Lalesca, abaixo, mostraram-me algumas possibilidades.
Gratidão.
1 curtida