Há algum tempo atrás no blog "Pratical Business Python" mantido por Chris Moffitt, eu li sobre a biblioteca Xlwings e recentemente resolvi testar.
Como conheço Excel e VBA de longa data e recentemente estudei Python para entender mais e saber sobre Análise Exploratória de Dados vi com bons olhos ter com menos esforço mais efetividade. Este é a principal tônica em todas postagens do blog, ter mais tempo para analisar dados e menos tempo manipulando.
Para testar como funciona a biblioteca eu me propus a fazer um script em Python e chamar ele a partir de uma planilha de excel para ler os dados desta planilha e calcular o Zscore (que resumidamente é quantos desvios padrões o número está em relação a média) adicionar o zscore de cada registro e depois plotar um gráfico de área.
Vamos para a prática!
ESTRUTURA XLWINGS
A forma como foi construída a biblioteca permite tanto o Excel executar comandos Python e mesmo criar funções assim como o Python executar macros do Excel.
Excel 32 ou 64 Bits executa Python para 32 - 64 Bits.
CHECK LIST PARA UM EXCEL EXECUTAR PYTHON VIA XLWINGS
1 - Um excel com um Add-in Xlwings (xlsm)
2 - Referências VBA Project ao Xlwings
3 - Uma macro chamando a Biblioteca Xlwings no Python
Comentários da macro feitas pelo autor do blog para facilitar eventuais testes da comunidade.
Na macro abaixo está sendo importado o arquivo.py hello e dentro dele a função hello_xlwings apenas!
4 - Um arquivo .py
Dentro do arquivo.py podem haver funções que serão importadas no Excel (pode ajudar em muitas demandas!) ou caso não seja chamada uma função em específica o Xlwings vai executar todo o código contigo no arquivo .py
VÍDEO DE DEMONSTRAÇÃO DE UMA APLICAÇÃO
Dado um determinado conjunto de valores calcularemos o Zscore para cada um deles, em uma primeira abordagem os números que se distanciam a -3 e +3 podem ser entendidos como outliers. Na sequencia é plotado um gráfico de área para demonstrar os valores.
CURSO SOBRE O XLWINGS + CERTIFICADO
Há um extenso treinamento proposto por Felix Zumstein criador da biblioteca Xlwings com vários exemplos que cobrem desde:
- Parametrização do Add-in no excel
- Integração do VBA com Python
- Usar o Jupyter notebook para coletar informações do excel e processar no Python
- Criar funções dentro do Excel que executem bibliotecas do Python
- Certificado de conclusão
Se quiser saber mais sobre o curso clique aqui, eu fiz e recomendo!
Fontes:
Comments