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

Resultado PIMPF - Novembro/2024

Resumo A Análise Macro apresenta os resultados da PIMPF de Novembro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados.

Resultado PIB - 3° Trimestre/2024

A Análise Macro apresenta os resultados da PIB 3º trimestre de 2024, com gráficos e tabelas elaborados em Python para coleta, tratamento e visualização de dados.

Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Como treinar e selecionar os melhores modelos de previsão no Python?

Em previsão, há uma infinidade de modelos que podem ser usados. O processo de escolha do(s) modelo(s) deve ser empírico-científico, usando métodos que visem avaliar a generalização dos algoritmos para dados novos. Neste artigo, mostramos como implementar a metodologia de validação cruzada com algoritmos de machine learning no Python, exemplificando para a previsão do IPCA.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de 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.