R

Como Ler e Escrever Arquivos CSV no R com readr

Escrito por Erick Faria · 3 min. >
Ler e Escrever Arquivos CSV no R

Neste post, vamos explorar como ler e escrever arquivos CSV no R utilizando o pacote readr. Manipular arquivos CSV é uma tarefa comum em análise de dados, e o readr oferece funções eficientes e fáceis de usar para essa finalidade. Vamos criar exemplos de leitura e escrita de arquivos CSV.

Por que Usar readr para Manipular Arquivos CSV?

O pacote readr é amplamente utilizado para ler e escrever arquivos de texto, incluindo CSV. Ele é otimizado para desempenho e fornece uma interface simples e intuitiva para trabalhar com dados tabulares. As funções read_csv e write_csv são rápidas e fáceis de usar, tornando a manipulação de arquivos CSV mais eficiente.

Trabalhando com Arquivos CSV no R

Instalando o Pacote readr

Se você ainda não tem o pacote readr instalado, pode instalá-lo com o seguinte comando:

# Ler e Escrever Arquivos CSV no R
# Instalando o pacote readr
install.packages("readr")

Carregando o Pacote readr

Depois de instalar, carregue o pacote:

# Ler e Escrever Arquivos CSV no R
# Carregando o pacote readr
library(readr)

Como Ler e Escrever Arquivos CSV no R com readr

Lendo um Arquivo CSV

Para ler um arquivo CSV, usamos a função read_csv:

# Ler e Escrever Arquivos CSV no R
# Lendo um arquivo CSV
data <- read_csv("caminho/para/seu/arquivo.csv")

Exemplo com Dados Reais

Vamos supor que temos um arquivo CSV chamado dados.csv com o seguinte conteúdo:

Nome,Idade,Cidade,Salario
João,23,São Paulo,5000
Ana,45,Rio de Janeiro,7000
Carlos,35,Belo Horizonte,8000
Marta,41,Salvador,6200
Pedro,29,São Paulo,5400

Podemos ler este arquivo da seguinte maneira:

# Ler e Escrever Arquivos CSV no R
# Lendo o arquivo dados.csv
data <- read_csv("dados.csv")

Adicionei uma seção sobre como lidar com grandes arquivos CSV no R usando o pacote readr. Aqui está a seção adicionada:

Lidando com Grandes Arquivos CSV

Carregando Grandes Arquivos em Chunks

Quando se lida com arquivos CSV muito grandes, é possível que o arquivo não caiba na memória. Uma solução é ler o arquivo em partes (chunks):

# Lendo grandes arquivos em chunks
chunk_size <- 10000  # Tamanho do chunk
data_iter <- read_csv_chunked("grande_arquivo.csv", chunk_size = chunk_size, 
                              callback = function(x, pos) {
                                # Processa cada chunk individualmente
                                print(paste("Chunk:", pos))
                                return(x)
                              })

Otimizando o Uso de Memória

Outra técnica é otimizar o uso de memória ao ler arquivos CSV grandes, especificando os tipos de dados das colunas para reduzir o uso de memória:

# Especificando tipos de dados das colunas
col_types <- cols(
  Nome = col_character(),
  Idade = col_integer(),
  Cidade = col_character(),
  Salario = col_double()
)

# Lendo o arquivo com tipos de dados especificados
data <- read_csv("grande_arquivo.csv", col_types = col_types)

Escrevendo Grandes Arquivos de Forma Eficiente

Para escrever grandes DataFrames de forma eficiente, certifique-se de que o DataFrame está otimizado e use write_csv:

# Escrevendo grandes DataFrames
write_csv(data, "saida_grande_arquivo.csv")

Como Escrever Arquivos CSV no R

Escrevendo um DataFrame para CSV

Para escrever um DataFrame para um arquivo CSV, usamos a função write_csv:

# Ler e Escrever Arquivos CSV no R
# Criando um DataFrame de exemplo
data <- data.frame(
  Nome = c('João', 'Ana', 'Carlos', 'Marta', 'Pedro'),
  Idade = c(23, 45, 35, 41, 29),
  Cidade = c('São Paulo', 'Rio de Janeiro', 'Belo Horizonte', 'Salvador', 'São Paulo'),
  Salario = c(5000, 7000, 8000, 6200, 5400)
)

# Escrevendo o DataFrame para um arquivo CSV
write_csv(data, "dados_saida.csv")

Manipulações Adicionais com CSV

Especificando Delimitadores

Podemos especificar diferentes delimitadores ao ler arquivos CSV. Por exemplo, para ler um arquivo separado por ponto e vírgula:

# Ler e Escrever Arquivos CSV no R
# Lendo um arquivo CSV com delimitador ponto e vírgula
data <- read_csv("caminho/para/seu/arquivo.csv", delim = ";")

Manipulando Colunas ao Ler o CSV

Podemos selecionar e renomear colunas ao ler um arquivo CSV:

# Ler e Escrever Arquivos CSV no R
# Selecionando e renomeando colunas ao ler o CSV
data <- read_csv("dados.csv", col_names = c("Nome", "Idade", "Cidade", "Salario"))

Para mais informações sobre como utilizar o R para análise de dados, confira outros conteúdos no meu blog:

Considerações Finais

Espero que este guia tenha sido útil para aprender como ler e escrever arquivos CSV com o pacote readr no R. A prática é essencial para dominar essas técnicas, então encorajo você a experimentar e aplicar esses métodos em seus próprios projetos de análise de dados.

Para aprimorar suas habilidades com o R e se tornar mais eficiente na manipulação de dados tabulares, é importante também fortalecer sua compreensão em ciência de dados. Recomendamos o livro Fundamentos em R: Guia Completo para Iniciantes, disponível na Amazon, que oferece uma introdução abrangente ao R.

Junte-se à nossa comunidade no Twitter e inscreva-se no nosso canal do YouTube para acessar mais tutoriais, dicas e recursos. Continue praticando e explorando novas maneiras de manipular arquivos CSV com o R, e fique atento para mais guias e tutoriais que compartilharemos.

Escrito por Erick Faria
Engenheiro de Dados com Ph.D. em Geografia e experiência em análise espacial e geoprocessamento. Expertise em processamento de grandes volumes de dados geoespaciais, imagens de satélite e dados de mercado, utilizando ferramentas como Spark, Databricks e Google Earth Engine. Experiência em projetos de mercado de carbono, modelos preditivos para investimentos agrícolas e liderança de projetos de dados em saúde pública. Habilidades em Python, R, SQL e diversas ferramentas de engenharia de dados. Profile