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

[Dúvida] Exportando arquivo excel

Olá, todos e todas bem? Estou com dificuldades em salva o banco de dados excel com as planilhas.

O roteiro da aula é baixar o banco de dados em excel via url, depois de baixado o banco, atribuimos a ele uma variável e depois o exportamos como arquivo excel com a função .to_excel( ). Depois de exportado, eu abro o google sheets e uso o arquivo salvo. Na hora que eu abro o arquivo, ao invés de ter 3 planilhas ['emissoes_C02', 'emissoes_percapita', 'fontes'], vem somente com uma sem nome. Isso fez com que as atividades do final da aula sobre acessar à diferentes planilhas em um banco de dados CSV não acontece de forma correta.

O que estou fazendo de errado?

5 respostas

Olá, João! Tudo bem?

No momento em que realizamos a exportação com a função to_excel( ), apenas uma das folhas da planilha foi salva, pois começamos criando uma variável chamada percapita, onde fizemos a leitura apenas da folha que continha 'emissoes_percapita':

percapita = pd.read_excel(url, sheet_name='emissoes_percapita')

Depois disso, lá no final mostrei como exportar somente o percapita usando o seguinte código:

percapita.to_excel('co2_percapita.xlsx', index=False)

Por isso, a planilha salva só tem uma folha!

Caso ainda tenha ficado alguma dúvida, não hesite em perguntar!!

Bons estudos

Olá Valquíria, tudo bem? Obrigado pela resposta! Então, eu estava com dificuldade na hora de escolhar a planilha usando a variável "sheet_name", pq estava carregando sempre a mesma, mesmo que eu colocasse os nomes diferentes ('emissoes_percapita' e 'fontes'). Mas eu descobri o erro, o arquivo que eu estava carregando do meu computador para o google sheets tem apenas uma planilha, por isso que estava dando esse erro. Como eu não prestei a atenção no inicio da aula, onde vc mostra as planilhas no google sheets, eu usei esse arquivo com apenas uma planilha. Enfim, vou refazer tudo aqui... se continuar o problema eu lhe aviso! Att, João

Então Valquíria, o arquivo que eu estou carregando no google sheets, é o arquivo que eu baixei pelo url e exporto pelo python. Mas ele tá exportando com apenas uma planilha. Segue o cógido abaixo:![](Código para exportar arquivo excel através do python)

Tô esquecendo de alguma coisa?

solução!

Oi, João!! Entendi o que você quer! Isso não foi explicado em aula, pois focamos em como salvar uma única folha da planilha. Se você quiser salvar todas em um arquivo único é um pouquinho mais complexo, mas é possível com o código abaixo:

import pandas as pd

url = 'https://github.com/alura-cursos/Pandas/blob/main/emissoes_CO2.xlsx?raw=True'

# Leia as três folhas em DataFrames separados
df1 = pd.read_excel(url, sheet_name='emissoes_C02')
df2 = pd.read_excel(url, sheet_name='emissoes_percapita')
df3 = pd.read_excel(url, sheet_name='fontes')

# Crie um arquivo Excel para salvar as três folhas
with pd.ExcelWriter('emissoes_CO2_com_todas_folhas.xlsx') as writer:
    df1.to_excel(writer, sheet_name='emissoes_C02', index=False)
    df2.to_excel(writer, sheet_name='emissoes_percapita', index=False)
    df3.to_excel(writer, sheet_name='fontes', index=False)

Esse código cria um novo arquivo Excel chamado 'emissoes_CO2_com_todas_folhas.xlsx' para salvar as três planilhas nele. Ele utiliza o pd.ExcelWriter para criar o arquivo e, em seguida, usamos a função to_excel() para escrever cada um dos DataFrames (df1, df2, e df3) em uma planilha separada no arquivo recém-criado. O parâmetro index=False é utilizado para evitar a inclusão do índice padrão dos DataFrames nas planilhas do Excel.

O with nesse último bloco de código é utilizado para criar um contexto no qual você pode trabalhar com esse objeto pd.ExcelWriter de forma eficiente. O objetivo do with nesse contexto é garantir que os recursos associados ao objeto pd.ExcelWriter sejam liberados de forma automática ao final do bloco, o que é útil para evitar vazamentos de recursos e fechar o arquivo Excel de maneira adequada.

Espero que esse código seja útil para você. Se tiver mais alguma dúvida ou precisar de ajuda adicional, sinta-se à vontade para perguntar. Estou aqui para ajudar!

Bons estudos!

Muuuito obrigado!!