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.
Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!
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 zipfile
Em 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.
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
- Automação Whatsapp Web com com Python: Guia Completo para Enviar Mensagens com PyWhatKitVocê já imaginou programar o envio de mensagens com uma automação WhatsApp Web com poucas linhas de código?
- Como Gerar Relatórios em PDF com Python (Passo a Passo)Neste tutorial, você vai aprender a transformar dados de uma planilha do Excel em PDFs personalizados usando Python!
- API no Python – O que é e Como Criar Sua Própria API?Nessa aula vamos te mostrar o o que é uma API no Python e como você pode criar sua própria API para seus projetos!
Posts mais recentes da Hashtag Treinamentos
- Funções do Copilot no Excel que vão TRANSFORMAR seu TrabalhoVocê sabia que o Copilot no Excel faz muito mais do que tirar dúvidas? Essa IA pode criar fórmulas, formatar dados e até gerar gráficos por você.
- 30 Frases de Small Talk em Inglês: Tenha Conversas Naturais em InglêsDomine o Small Talk em Inglês com 30 frases práticas para conversas rápidas. Aprenda a pronúncia, os usos e dicas para falar com mais naturalidade.
- Fórmula CALCULATE no Power BI [+Erro Comum e Como Evitar]Nessa aula vamos te mostrar como utilizar a fórmula CALCULATE no Power BI para que possa fazer seus cálculos com filtros específicos!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.