Importação e exportação de dados com o R

O R contêm uma variedade de ferramentas (funções e pacotes) para importar dados, bem como exportá-los, sejam eles estruturados ou não estruturados.

Abaixo seguem alguns exemplos dessas ferramentas:

Pacote readr

O tidyverse contêm um pacote, chamado readr, com um conjunto de funções para exportar e importar dados em vários formatos. Vejamos as principais.

Todas as funções seguem a mesma sintaxe. Para salvar, usamos write_ seguido da extensão. Para ler, usamos read_ seguido da extensão.

A título de exemplo, vamos usar uma base de dados que está contida no pacote tjsp chamada imoveis. Nela há informações sobre todos ou quase todos os imóveis do Tribunal de Justiça de São Paulo, inclusive georreferenciados.

Vamos exportá-la para vários formatos para, em seguida, importá-la novamente. Tudo isso o mesmo pacote readr.

Carregando a base

imoveis <- tjsp::imoveis

Exportando para vários formatos

Exportar para um determinado formato exige apenas que você escreva a função correspondente e, entre parênteses, coloque o nome o objeto (sem aspas), bem como, o caminho (com aspas), incluindo com o nome do arquivo e sua respectiva extensão.

library(readr)

write_csv(imoveis,"imoveis.csv") ## Arquivos separados por vírgula
write_excel_csv(imoveis,"imoveis.csv") ## Arquivos separados por vírgula 
write_delim(imoveis, path = "imoveis.txt",delim = "\t") 
write_tsv(imoveis, "imoveis.tsv.gz") 

Importando dos mesmos formatos

O procedimento é similar para importar. Basta colocar como argumento o nome do arquivo (entre aspas) e eventualmente um separador.

imoveis <- read_csv("imoveis.csv")
imoveis <- read_delim("imoveis.txt",delim ="\t")
imoveis <- read_delim("imoveis.tsv.gz",delim = "\t")

Outros formatos

Eventualmente, você quer exportar para outros formatos, como json ou excel. Para isso, você precisa de pacotes específicos.

JSON

Para Json, use o pacote jsonlite:


install.packages("jsonlite")
library(jsonlite)

Exportando para json:

write_json(imoveis,"imoveis.json",pretty=T)

Importando de json

imoveis <- read_json("imoveis_json",simplifyDataFrame=T)

Excel

Para e de excel, a opção mais simples e rápida são os pacotes writexl e readxl

install.packages(c("writexl","readxl"))
library(writexl)
library(readxl)

Exportando para excel

write_xlsx(imoveis,"imoveis.xlsx")

Importando de excel

imoveis <- read_xlsx("imoveis.xlsx")

Formato nativo do R

Você pode exportar para o formato RDS, que nada mais é do que uma serialização de objetos do R. A vantagem dele sobre os demais formatos é que, com ele você pode salvar qualquer objeto, não somente dataframes.

saveRDS(imoveis,"imoveis.rds")
imoveis <- readRDS("imoveis.rds")