Como Abrir Arquivos Zip no Python Automaticamente
Você sabia que é possível abrir e trabalhar com arquivos ZIP no Python de forma automática? Aprenda como fazer isso com as bibliotecas Pandas e ZipFile.
Para trabalhar com arquivos ZIP no Python, use o módulo nativo zipfile, que abre, lê, extrai e cria arquivos compactados sem instalar nada. Com ZipFile("dados.zip") você lista o conteúdo, extrai arquivos e até lê os dados direto na memória. O Pandas também lê CSVs de dentro de um ZIP automaticamente, sem precisar descompactar antes.
Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!
O que você aprende neste vídeo
Resposta rápida: A aula ensina a ler bases de dados de dentro de um arquivo ZIP no Python, sem descompactar nada antes. Você aprende a apontar o pd.read_csv() direto para o .zip, forçar compression='zip', abrir o compactado com zipfile.ZipFile() dentro de um with, listar o conteúdo com namelist() e ler cada arquivo com o open() da própria pasta.
Neste vídeo (10 min):
- 1:00 -
import pandas as pde leitura direta do zip de um arquivo só compd.read_csv() - 2:00 - A função escolhida é a do arquivo de dentro do zip:
read_csv()para CSV,read_excel()para Excel - 3:00 - Parâmetro
compression='zip'para quando a inferência automática do pandas falha - 4:00 - Zip com mais de um arquivo dá erro de
multiple filese passa a exigir ozipfile - 5:00 - Abrir o compactado com
with zipfile.ZipFile()no lugar doopen()comum - 6:00 -
namelist()lista os arquivos de dentro e oforpercorre cada um deles - 8:00 -
pasta_zip.open()entregue aoread_csv()e o uso das tabelas fora dowith
Trechos do vídeo:
- O
pandaslê um CSV de dentro de um ZIP sem descompactar, mas só quando o compactado tem um único arquivo - Zip com dois ou mais arquivos faz o
read_csv()falhar commultiple files: aí o caminho é ozipfile - Passar só o nome faz o
pandasprocurar na pasta do código; o arquivo tem que vir depasta_zip.open() - O
pandasexigepip install pandasantes de rodar o código; ozipfileé apenas importado
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Como Abrir Arquivos Zip em Python Automaticamente
Trabalhar com arquivos zip automaticamente no Python pode ser uma solução valiosa quando estamos lidando com grandes conjuntos de dados, muitos arquivos, ou automatizando processos.
Ao utilizar as bibliotecas Pandas e ZipFile, conseguimos simplificar e automatizar esse processo, abrindo e manipulando arquivos ZIP, sejam eles simples ou contendo múltiplos arquivos.
Arquivos zip Disponíveis
No material disponível para download, você encontrará dois arquivos zip para testar com o código que vamos desenvolver.

No arquivo produtos_agricolas_1.zip, haverá apenas um arquivo dentro. Já no arquivo produtos.zip, temos dois arquivos compactados.
Bibliotecas Necessárias
Para essa aula, utilizaremos as bibliotecas Pandas e ZipFile. A biblioteca ZipFile já faz parte da biblioteca padrão do Python, então você só precisará instalar o Pandas utilizando o seguinte comando: pip install pandas

Leitura de Arquivos zip Simples com Pandas
Com o Pandas instalado, podemos partir para o nosso primeiro exemplo, onde iremos ler um arquivo zip simples.
Nesses casos, quando o arquivo zip contém um único arquivo, como uma tabela de dados em formato CSV, a maneira mais rápida e direta de acessar os dados é utilizando o Pandas.
Ele possui uma funcionalidade nativa que permite ler arquivos comprimidos diretamente, simplificando o processo de importação e análise de dados.
Basta usar o método de leitura adequado ao tipo de arquivo compactado. Como estamos lidando com um arquivo CSV, vamos utilizar o método read_csv(). Se fosse um arquivo Excel, por exemplo, usaríamos read_excel().
import pandas as pd
tabela = pd.read_csv("produtos_agricolas_1.zip")
print(tabela)O Pandas infere automaticamente que o arquivo está comprimido e lida com a descompressão para você, exibindo a tabela de produtos agrícolas corretamente.

Caso receba um erro durante esse processo, pode ser que a sua versão do Pandas não esteja atualizada. Nesse caso, basta adicionar o parâmetro compression ao método read_csv.
import pandas as pd
tabela = pd.read_csv("produtos_agricolas_1.zip", compression="zip")
print(tabela)Esse comando força o Pandas a usar o método correto de descompressão, garantindo que o arquivo zip seja processado corretamente.
Leitura de Múltiplos Arquivos zip com ZipFile
Quando o arquivo zip contém múltiplos arquivos ou pastas compactadas, é necessário um controle maior sobre o conteúdo. Nesses casos, somente o Pandas não conseguirá lidar com os arquivos automaticamente e poderá retornar um erro.
Para resolver isso, utilizaremos o módulo ZipFile, que faz parte da biblioteca padrão do Python, para manipular arquivos zip. Continuaremos utilizando o Pandas para ler os arquivos CSV.
A primeira coisa que faremos no nosso código será importar as bibliotecas zipfile e pandas.
import pandas as pd
import zipfileEm seguida, utilizaremos um bloco with para abrir o arquivo zip de forma segura, o que garante que o arquivo seja fechado corretamente após o uso, evitando erros e problemas de memória.
Para abrir o arquivo zip, utilizaremos a classe ZipFile do módulo zipfile. Essa classe fornece as funcionalidades necessárias para abrir, ler, criar e manipular arquivos zip.
Passamos o nome do arquivo e o parâmetro “r”, indicando que estamos abrindo o arquivo no modo de leitura.
Após abrir o arquivo, usamos o método .namelist() para obter uma lista com os nomes de todos os arquivos contidos no zip e, em seguida, imprimimos esses nomes na tela.
import pandas as pd
import zipfile
with zipfile.ZipFile("produtos.zip", "r") as pasta_zip:
nomes_arquivos = pasta_zip.namelist()
print(nomes_arquivos)
Para ler cada um desses arquivos, criamos um loop for que itera sobre a lista de arquivos.
Usamos o método open() da biblioteca zipfile, que permite abrir os arquivos compactados sem precisar extraí-los. Em seguida, lemos esses arquivos como tabelas utilizando o método read_csv() do Pandas.
Por fim, exibimos o conteúdo das tabelas com um print().
import pandas as pd
import zipfile
with zipfile.ZipFile("produtos.zip", "r") as pasta_zip:
nomes_arquivos = pasta_zip.namelist()
print(nomes_arquivos)
for arquivo in nomes_arquivos:
tabela = pd.read_csv(pasta_zip.open(arquivo))
print(tabela)
Lidando com Arquivos zip Grandes e Estruturados
Em alguns casos, você precisará lidar com arquivos zip que possuem várias camadas de subpastas, arquivos e até outros arquivos zip dentro.
Nesses casos, pode ser necessário o uso de bibliotecas adicionais, como os ou pathlib, para navegar pela estrutura de diretórios e acessar os arquivos desejados.
A abordagem básica ainda é usar ZipFile para abrir o arquivo, mas, dependendo da estrutura, pode ser necessário concatenar caminhos de diretórios ou realizar verificações adicionais antes de processar os arquivos.
Perguntas frequentes
1. Qual módulo do Python abre arquivos ZIP?
O módulo zipfile, que já vem embutido no Python, é o padrão para abrir arquivos ZIP. Não precisa instalar nada: basta import zipfile e usar a classe ZipFile. Com ela você lista os arquivos internos, extrai um ou todos e lê o conteúdo, tudo direto pelo código.
2. Como extrair um arquivo ZIP com Python?
Abra o ZIP com with ZipFile("arquivo.zip") as z: e chame z.extractall("pasta_destino") para extrair tudo, ou z.extract("nome.csv") para um arquivo específico. O uso do with garante que o arquivo seja fechado corretamente ao final. Sem informar a pasta, os arquivos vão para o diretório atual do script.
3. Como ler um CSV dentro de um ZIP com Pandas?
O Pandas lê direto de um ZIP: basta usar pd.read_csv("dados.zip") e ele detecta a compactação automaticamente quando há um único arquivo dentro. Se o ZIP tiver vários arquivos, abra-o com zipfile, escolha o desejado e passe-o ao read_csv. Assim você analisa os dados sem descompactar manualmente.
4. Como criar um arquivo ZIP com Python?
Abra um novo arquivo em modo de escrita com ZipFile("novo.zip", "w") e adicione arquivos com write("arquivo.txt"). Você pode definir o nível de compactação pelo parâmetro compression. Para juntar vários arquivos, use um laço percorrendo a lista de nomes e chamando write para cada um dentro do mesmo ZIP.
Conclusão – Como Abrir Arquivos zip no Python Automaticamente
Nessa aula, mostrei como trabalhar com arquivos ZIP no Python utilizando duas abordagens eficientes e práticas com as bibliotecas Pandas e ZipFile.
Essas abordagens são extremamente úteis quando você precisa automatizar processos e leituras de arquivos comprimidos, sem a necessidade de extração manual, o que economiza tempo e torna seu código mais eficiente.
Essas ferramentas serão muito úteis quando você precisar lidar com grandes volumes de dados comprimidos, seja em projetos pessoais ou profissionais.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








