# Carregar bibliotecas
usethis::use_package('R.utils')
usethis::use_package('stringr')
usethis::use_package('plyr')
usethis::use_package('dplyr')
usethis::use_package('readr')
consulta_dados <- function(ano = 'all') {
# caso o usuário não informe qual o ano, serão baixados os dados de todos os anos
if (ano == 'all') {
ano <- c(2015,2016,2017,2018,2019,2020,2021)
}
# permite passar mais de um ano por vez por meio de um vetor
for(i in ano) {
ano <- paste0('link',i)
x <- c('link2015','link2016','link2017','link2018','link2019','link2020','link2021')
x <- match(ano,x) # retorna a posição da string que dá match
dir <- '/temp/' # diretório para download
links <- c('https://dadosabertos-download.cgu.gov.br/FalaBR/Arquivos_FalaBR_Filtrado/Arquivos_csv_2015.zip',
'https://dadosabertos-download.cgu.gov.br/FalaBR/Arquivos_FalaBR_Filtrado/Arquivos_csv_2016.zip',
'https://dadosabertos-download.cgu.gov.br/FalaBR/Arquivos_FalaBR_Filtrado/Arquivos_csv_2017.zip',
'https://dadosabertos-download.cgu.gov.br/FalaBR/Arquivos_FalaBR_Filtrado/Arquivos_csv_2018.zip',
'https://dadosabertos-download.cgu.gov.br/FalaBR/Arquivos_FalaBR_Filtrado/Arquivos_csv_2019.zip',
'https://dadosabertos-download.cgu.gov.br/FalaBR/Arquivos_FalaBR_Filtrado/Arquivos_csv_2020.zip',
'https://dadosabertos-download.cgu.gov.br/FalaBR/Arquivos_FalaBR_Filtrado/Arquivos_csv_2021.zip')
# Conferir se os arquivos de algum ano já foram baixados anteriormente
lista.arquivos.locais <- list.files(path = "temp/", pattern = "*.csv", full.names = TRUE)
# procurar por '_2021' porque todos os arquivos contém 2021 no nome
if (any(grepl(paste0('_',i), lista.arquivos.locais)) == F | length(lista.arquivos.locais) == 0) {
download.file(links[x], paste0('./temp/',stringr::str_sub(links[x],start = -21))) # fazer com que o nome do arquivo seja dinâmico
# Extrair os arquivos baixados e excluir arquivos zip
lista.arquivos <- list.files(path = "temp/", pattern = "*.zip", full.names = TRUE)
mapply(unzip, zipfile = lista.arquivos, exdir = 'temp')
file.remove(lista.arquivos) # excluir arquivos com extensão zip
} else{
print(paste0('Os arquivos de ',i,' já foram baixados anteriormente.'))
}
}
}
# consulta_dados()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.