Como consolidar dezenas de planilhas em segundos com Python?

De acordo com a pesquisa “State of Data Science”, da empresa Anaconda, profissionais de dados gastam 38% do seu tempo apenas preparando os dados, antes mesmo de analisá-los. Segundo a Amazon, este percentual pode chegar até 80% dependendo do projeto. Estes números são uma triste realidade da qualidade de dados que analistas, cientistas e engenheiros de dados precisam lidar no dia a dia.

Infelizmente esta realidade não mudará da noite para o dia e os profissionais da área precisam utilizar ferramentas que tragam maior produtividade. Neste artigo, mostramos como ganhar mais tempo e diminuir o trabalho manual de preparação de dados. Tomando como exemplo a consolidação de mais de 70 planilhas de Excel diferentes e sem padrão, mostramos que o Python se destaca em tornar o fluxo de trabalho automatizado e reprodutível.

O problema

Imagine que você trabalhe com precificação e precise regularmente de dados atualizados sobre os preços de insumos/componentes que formam o preço do produto/serviço que você trabalha. Você tem acesso aos dados através de um site que centraliza as informações, mas tem alguns problemas:

  • Os dados são publicados em múltiplos arquivos Excel…
  • Os arquivos são segregados por tipo de produto/serviço, ano e mês…
  • Os arquivos não tem um único padrão…

Nesta situação, se fossem menos do que meia dúzia de arquivos e para uma tarefa realizada uma única vez, você até poderia consolidar as planilhas usando o próprio Excel. No entanto, conforme a quantidade de arquivos e dados cresce ou quando a consolidação dos mesmos vira uma rotina frequente, o processo manual de consolidar as planilhas no Excel acaba sendo proibitivo.

Os dados

Vamos exemplificar esta situação com dados que são importantes para todos ou, pelo menos, a maioria dos brasileiros: preço da gasolina. Os dados de formação do preço da gasolina no Brasil são publicados no site da ANP e retratam exatamente a problemática descrita acima.

A imagem abaixo mostra uma das planilhas de Excel que queremos consolidar:

A ANP publica os dados de fevereiro de 2018 até (na data de escrita deste material) dezembro de 2023, o que totaliza 71 arquivos de Excel para consolidar.

Note que além dos problemas descritos acima, ainda poderíamos destacar que:

  • O cabeçalho da tabela é dividido em 2 linhas;
  • A tabela não começa na primeira linha;
  • Metadados/notas informativas são acoplados na tabela.

Poderíamos pontuar vários outros pequenos problemas sobre a forma como estes dados são disponibilizados que acabam dificultando a vida de quem precisa utilizá-los de maneira sistemática, mas vamos pular para a parte em que saímos deste “inferno” das planilhas para o “paraíso” dos dados consolidados.

A solução

Para consolidar planilhas de Excel usando apenas o Python precisamos de:

  • Arquivos disponibilizados (no nosso exemplo escrevemos um código, aqui omitido, para baixar tudo em uma pasta local);
  • Ambiente de programação Python (aqui utilizamos Google Colab por praticidade e reprodutibilidade, que é acessível e gratuito para todos);
  • Escrever um código que 1) lê os arquivos conforme o formato individual e 2) concatena os dados em uma única tabela (aqui utilizamos intensivamente o Pandas para fazer tudo isso).

O código abaixo realiza estes procedimentos iterando pela lista de arquivos (201802.xlsx, 201803.xlsx, etc.) para importar os dados usando um dicionário de especificações de leitura de cada arquivo. Este dicionário contém informações como “quantas linhas iniciais pular” e “quantas linhas finais deixar de fora”. No final do processo, que demora segundos, temos uma lista de tabelas importadas, que concatenamos em uma única tabela pronta para outros tratamentos e análises:

Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

composicao preco_litro data

0    Preço do Produtor de Gasolina A Comum 1     1.098750 2018-02-01
1                   Preço do Etanol Anidro 2     0.527763 2018-02-01
2                        Custo de Transporte     0.096444 2018-02-01
3                        Tributos Federais 3     0.686868 2018-02-01
4                       Tributos Estaduais 4     1.186415 2018-02-01
..                                       ...          ...        ...
1                   Preço do Etanol Anidro 2     0.598090 2023-12-01
2                        Tributos Federais 3     0.686868 2023-12-01
3                       Tributos Estaduais 4     1.226829 2023-12-01
4   Margem Bruta de Distribuição + Revenda 5     1.038228 2023-12-01
5    Preço ao Consumidor de Gasolina C Comum     5.580000 2023-12-01

[458 rows x 3 columns]

Agora com esta tabela de dados consolidados em segundos o céu é o limite. Você pode, por exemplo, fazer análises como esta:

Conclusão

Neste texto mostramos que o retorno de investimento em aprender Python se paga rapidamente: imagine consolidar dados de mais de 70 arquivos diferentes e sem padrão usando apenas Excel? É nestas horas que o Python se destaca em maior produtividade e menos trabalho manual.

Quer aprender mais?

Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Criando um Dashboard de análise de Ações no Python

Um Dashboard é um painel de controle que consolida uma variedade de informações sobre um determinado objeto de estudo em um ou mais painéis. Ele simplifica significativamente o processo de análise de dados, oferecendo uma visão global e fácil de entender. Uma maneira simples de construir um Dashboard para acompanhar uma ação específica é utilizando duas ferramentas: Quarto e Python. Neste post, mostramos o resultado da criação de um Dashboard de Ação.

Analisando séries temporais no Python e esquecendo de vez o Excel

Séries temporais representam uma disciplina extremamente importante em diversas áreas, principalmente na economia e na ciência de dados. Mas, afinal, como lidar com esses dados que se apresentam ao longo do tempo? Neste exercício, demonstraremos como compreender uma série temporal e como o Python se destaca como uma das melhores ferramentas para analisar esse tipo de dado.

Cálculo do Retorno Econômico de uma Política Pública

Como podemos traduzir os efeitos de uma política pública para valores monetários? Essa é uma tarefa árdua que requer algumas premissas, entretanto, com métodos bem definidos, é possível obter estimativas precisas dos ganhos e os gastos de uma política pública.

Neste exercício, demonstramos tal método usando a política hipotética "Mãe Paranense”, um conjunto de ações que visam reduzir a mortalidade materna e infantil no estado. Usamos a linguagem R como ferramenta para analisar os dados.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.