2
respostas

Mesmo problema

Boa tarde, alguém conseguiu resolver?

/usr/lib/python3.10/zipfile.py in _RealGetContents(self) 1334 raise BadZipFile("File is not a zip file") 1335 if not endrec: -> 1336 raise BadZipFile("File is not a zip file") 1337 if self.debug > 1: 1338 print(endrec)

BadZipFile: File is not a zip file

2 respostas

Oii, André, tudo certo?

Desculpe pela demora pra te responder.

O que acontece é que o Python está interpretando como se fosse um arquivo .zip.

Vou deixar outra alternativa, que, inclusive, foi a que eu usei pra carregar o meu arquivo. Nós vamos criar um botão para importar o arquivo, usando o import io.

Primeiro, rode esta célula:

import io
import pandas as pd
from google.colab import files

Agora, vamos criar uma variável para inserir o arquivo. Crie uma nova célula e rode este:

arquivo = files.upload()

A partir disso, vamos chamar o nosso dataframe de df numa nova célula:

df = pd.read_excel(io.BytesIO(arquivo.get('1-SEEG10_GERAL-BR_UF_2022.10.27-FINAL-SITE.xlsx')))

E pegamos o arquivo .xlsx também:

xlsx_file = io.BytesIO(arquivo.get('1-SEEG10_GERAL-BR_UF_2022.10.27-FINAL-SITE.xlsx'))

Por fim, vamos ao pd.read_excel! Da mesma maneira que o instrutor nos mostrou:

emissoes_gases = pd.read_excel(xlsx_file, 'GEE Estados')

E assim você consegue fazer a importação certinho. :)

Lembrando que cada divisão dos códigos é para importar em uma nova célula, ok?

Aliás, vou deixar meu notebook aqui para exemplificar como fica. Se você precisar de uma referência visual, é só clicar no link e olhar a célula mãe "Fazendo a leitura dos dados".

Se outra dúvida surgir, estou disponível.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Consegui uma solução para o meu caso e vou compartilhar pro restante do pessoal testar também.

O problema fundamental é que o Google Drive por padrão converte os arquivos de planilha que upamos para o formato do Google Sheets, o que acaba atrapalhando as engines do read_excel. Para mudar isso vá nas configurações do drive, desabilite a opção "Converter uploads no formato dos Editores de arquivos Google", reinicie o navegador (no meu caso foi necessário), faça novamente o upload do xlsx e use-o normalmente!!

Configurações do Google Drive

Desabilitar a opção de converter arquivos

Fazendo isso consegui ler normalmente o arquivo xlsx disponibilizado!

Agora para adiantar um pouco o trabalho já que o read_xlsx demora bastante para rodar, salvei o dataframe gerado pelo read_excel com a aba correta em um arquivo csv, upei no meu drive e passei a utilizá-lo com o pd.read_csv, o que economiza um tempo. Outra opção nessa mesma linha de raciocínio é fazer o upload do arquivo xlsx manualmente para o Colab e salvar o csv da mesma maneira que anteriormente, para trabalhar com o csv em vez do xlsx.

Espero que funcione para todos!