Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Salvar arquivo Excel com várias abas

Olá,

Fiz vários testes e também procurei no Google e documentação e não consegui encontrar uma solução. É possível salvar arquivo excel com mais de uma aba? Ex. em uma aba a lista do DataFrame e na outra um resumo das informações.

2 respostas
solução!

Oii Rodrigo, tudo bem por aí?

Na documentação do pandas.DataFrame.to_excel temos muitas informações e alguma pode ter passado batido. Para o que você deseja fazer podemos usar o parâmetro engine, tem mais detalhes dele na documentação que passei antes.

O engine aceita duas entradas, 'openpyxl' ou 'xlsxwriter'. Fiz um exemplo com a 'xlsxwriter' no Google Colab para te mostrar.

Importante: antes de usar o xlsxwriter é necessário fazer a instalação do mesmo no Google Colab. Fiz utilizando o comando abaixo, antes de executar o código.

!pip install xlsxwriter

Caso você esteja usando o Anaconda, sugiro dar uma olhada no site da Anaconda que contém informações sobre o pacote xlsxwriter.

Continuando... Utilizei o seguinte código:

import pandas as pd

# Criando os dataframes Pandas para armazenar os dados 
df1 = pd.DataFrame({'Data': [2, 4, 6, 8]})
df2 = pd.DataFrame({'Data': [100, 150, 200, 250]})
df3 = pd.DataFrame({'Data': [3, 6, 9, 12]})

# Usando o ExcelWriter, cria um doc .xlsx, usando engine='xlsxwriter'
writer = pd.ExcelWriter('tabelas_exemplo.xlsx', engine='xlsxwriter')

# Armazena cada df em uma planilha diferente do mesmo arquivo
df1.to_excel(writer, sheet_name='Tabela 1')
df2.to_excel(writer, sheet_name='Tabela 2')
df3.to_excel(writer, sheet_name='Tabela 3')

# Fecha o ExcelWriter e gera o arquivo .xlsx
writer.save()

Deixei explicado nos comentários do código, mas depois de executar, ele gera um arquivo .xlsx, e depois você pode fazer o download, como mostram as imagens a seguir.

Tabela gerada .xlsx

Depois que ela aparece nos Files, você pode fazer o download clicando nos três pontinhos ali do lado.

Tabela gerada .xlsx

Quando você abrir a tabela no Excel, vai estar com as 3 tabelas que criamos, cada uma com suas respectivas informações.

Imagem do Excel com a tabela aberta, demonstrando a funcionalidade do código.

Se você ainda tiver mais alguma dúvida, estou por aqui, tudo bem? :)

Muito obrigado Stephanie, era exatamente isso :)