Hackeando o R

Exportando data frames do R para planilhas

By 12 de outubro de 2021 outubro 18th, 2021 No Comments

Imagine-se na seguinte situação: o seu chefe lhe pede uma análise de um conjunto de dados "sujos", que requerem um enorme trabalho de limpeza, além de que se faça cálculos complexos. Você, inteligente e inovador, pretende realizar todo o trabalho com o R, já que a linguagem permite que você faça o trabalho rapidamente. Há um porém, o seu chefe ainda não conhece muito bem a linguagem, e também necessita passar as informações para outros setores da empresa, e por isso, pede que o conjunto de dados seja entregue em uma planilha. Neste texto, iremos mostrar como é possível resolver esse problema, exportando data frames para planilhas utilizando os pacote {XLConnect} e {googlesheets4}.

# Carrega os pacotes necessários
library(googlesheets4)
library(XLConnect)
library(tidyverse)

Primeiro, iremos mostrar como exportar uma data frame para um arquivo .xlsx. O primeiro passo é carregar o arquivo
de formato .xlsx, para que seja feita a conexão com o R. Veja que é possível conectar a uma planilha já existente, utilizando a função loadWorkbook(), passando nome do arquivo em questão no primeiro argumento, bem como criar um arquivo direto do R, passando o argumento create = TRUE. Fazemos isso tudo salvando em um objeto.

Logo em seguida, realizamos a criação de páginas dentro da planilha, no qual iremos colocar nossos dados. Podemos fazer isso com a função createSheet(), em que passamos o objeto que conecta com o arquivo .xlsx, e o nome da página. Após isso, utilizamos a função writeWorksheet() para enfim escrever os dados na planilha. Veja que podemos escolher as coordenadas em que os dados estarão guardados usando os argumentos startRow e startCol, que por padrão começam na linha 1, coluna 1.

Por fim, salvamos o arquivo utilizando a função saveWorkbook().


# Cria um arquivo .xlsx
flowers <- loadWorkbook("iris.xlsx", create = TRUE)

# Cria uma página no arquivo
createSheet(flowers, "iris1")

# Escreve na página criada
writeWorksheet(flowers, iris, sheet = "iris1", startRow = 1, startCol = 1)

# Salva o arquivo
saveWorkbook(flowers)

Outro pacote muito útil para transformar data frames em planilhas é o {googlesheets4], que justamente conecta os dados em uma planilha no Google Planilhas.

Para isso, é necessário que o pacote tenha permissão da sua conta Google para realizar as mudanças. Para isso, utiliza-se a função gs4_auth(), colocando seu e-mail de uso.

Em seguida, cria-se a planilha utilizando a função gs4_create(), passando o nome da planilha como primeiro argumento, e o data frame que podem ser utilizados.

Em caso de alterações, podemos escrever por cima da planilha utilizando a função write_sheet(). O argumento ss é usado para conectar a planilha, podemos usar tanto a url, quanto o id salvo dentro do argumento iris_gg.

## Google Sheets

# Conecta a conta do Google, para garantir a permissão
gs4_auth(email = "luiz@exemplo.com")

# Cria uma planilha dentro do Google Planilhas
iris_gg <- gs4_create("flowers", sheets = iris)

# Escreve por cima do arquivo criado anteriormente
write_sheet(data = filter(iris, Species == "setosa"),
            ss = "1V2722XxqQHbi_9V_bi5LAxwEHrQTXHCW4OnpyjjxiQg",
            sheet = "iris")

Serve como um bom quebra-galho, não?

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais
e conteúdos exclusivos sobre Análise de Dados!

Assinar Gratuitamente
{"cart_token":"","hash":"","cart_data":""}