Tratamento de Dados com Python no Power BI: Guia Completo
Power BI · 9 min de leitura

Espaços sobrando, nomes escritos de cinco jeitos diferentes, valores com "R$" no meio do texto, linhas e colunas inteiras vazias. Quem trabalha com dados conhece essa base. O tratamento de dados com Python no Power BI resolve tudo isso de uma vez: você cola um script no Power Query, executa, e a tabela sai limpa, pronta para análise.
Neste guia você vai configurar o Python no Power BI, instalar as bibliotecas necessárias, rodar um script de limpeza dentro do Power Query, entender o que cada bloco do código faz e ainda ajustar o script depois de executado.
Caso prefira aprender por vídeo, veja o vídeo abaixo:

O que você vai aprender
- Como conferir se o Power BI está enxergando o Python do seu computador;
- Como instalar e testar as bibliotecas pandas e matplotlib pelo terminal;
- Onde fica o botão Executar script Python no Power Query;
- O que o script de limpeza faz, bloco por bloco;
- Como editar o script depois de executado para preencher vazios com "Não informado";
- Como carregar a tabela tratada no Power BI.
Por que usar Python dentro do Power Query
O Power Query já tem muitos botões de limpeza: aparar, substituir valores, colocar em maiúsculas. O problema aparece quando a base tem vários problemas ao mesmo tempo, em várias colunas. Você acaba com dezenas de etapas aplicadas, uma para cada ajuste.
Com Python, todo esse tratamento vira uma etapa só: um script que percorre as colunas, padroniza o texto, limpa os números e remove o que está vazio. E o melhor: o mesmo script pode ser reaproveitado em outras bases com problemas parecidos.
Passo 1: conferir se o Python está conectado ao Power BI
Para rodar Python no Power BI, você precisa ter o Python instalado no computador. Para conferir se o Power BI está encontrando a instalação:
- Clique em Arquivo;
- Vá em Opções e configurações e depois em Opções;
- Na janela que abrir, dentro de Global, clique em Scripts do Python;
- Em Diretórios base do Python detectados, selecione a instalação do Python do seu computador e clique em OK.
Se nenhum diretório aparecer, é porque o Python ainda não está instalado. A própria tela tem um link da Microsoft explicando a instalação. Instale e volte nesse passo.
Passo 2: instalar e testar as bibliotecas
O Python sozinho não basta: o tratamento usa a biblioteca pandas, que trabalha com tabelas. O Power BI também pede a matplotlib para recursos de Python. Para instalar as duas, abra o terminal do Windows: clique na lupa ao lado do botão Iniciar, digite CMD e abra o Prompt de Comando.
Primeiro, confira se o Python responde. Digite e pressione Enter:
python --version
Deve aparecer a versão instalada (no vídeo, Python 3.12.10). Em seguida, instale as bibliotecas:
python -m pip install pandas matplotlib
Se elas já estiverem instaladas, o terminal avisa e não faz nada. Se não estiverem, ele baixa, instala e mostra uma mensagem de sucesso no final. Para ter certeza de que está tudo certo, rode um teste que importa as duas e escreve uma mensagem:
python -c "import pandas, matplotlib; print('Pandas e Matplotlib instalados')"
Se aparecer "Pandas e Matplotlib instalados", pode fechar o terminal. Os comandos também estão no material da aula, disponível para download logo abaixo do vídeo.
Passo 3: abrir o Power Query e executar o script Python
Com a base suja já importada no Power BI:
- Na guia Página Inicial, clique em Transformar dados para abrir o Power Query;
- No Power Query, vá na guia Transformar;
- No final da faixa de opções, clique em Executar script Python.
Abre uma janela com a frase "Insira script Python no editor para transformar e dar forma aos seus dados" e uma linha começando com #. Em Python, o # marca um comentário: aquela linha só avisa que a sua tabela chega no script com o nome dataset. É com esse nome que o código vai trabalhar.
Cole o script do material da aula e clique em OK.
O que o script de limpeza faz, bloco por bloco
Antes de executar, vale entender cada parte. O script completo está no material; abaixo está a lógica de cada bloco, com um exemplo de código no mesmo estilo.
1. Importar o pandas
import pandas as pd
É a biblioteca que faz todo o trabalho com a tabela.
2. Remover espaços sobrando em todas as colunas
Um loop (for) percorre as colunas de texto e tira os espaços do começo, do fim e os espaços duplicados no meio. É o caso das colunas Produto, Vendedor e até Valor, que na base suja vinham cheias de espaço.
for col in dataset.select_dtypes(include="object").columns:
dataset[col] = dataset[col].str.strip().str.replace(r"\s+", " ", regex=True)
3. Padronizar vazio como nulo
Em banco de dados, uma célula com texto vazio e uma célula nula não são a mesma coisa. O script transforma tudo que é vazio em nulo, porque os próximos passos (remover linhas e colunas vazias) dependem disso.
dataset = dataset.replace(r"^\s*$", pd.NA, regex=True)
4. Padronizar maiúsculas e minúsculas
Na base, "excel", "EXCEL" e "Excel" aparecem como se fossem produtos diferentes, e o mesmo acontece com os nomes dos vendedores. O script deixa tudo só com a primeira letra maiúscula nas colunas Produto e Vendedor.
for col in ["Produto", "Vendedor"]:
dataset[col] = dataset[col].str.title()
5. Limpar a coluna de valor
Remove o "R$", os pontos e as vírgulas, para sobrar só o número.
dataset["Valor"] = dataset["Valor"].str.replace(r"[R$\.,\s]", "", regex=True)
Atenção: tirar a vírgula funciona porque, nessa base, os valores não têm centavos. Se a sua base tiver centavos, troque a vírgula por ponto em vez de removê-la.
6. Remover linhas e colunas 100% vazias e converter o valor
dataset = dataset.dropna(how="all") # linhas totalmente vazias
dataset = dataset.dropna(axis=1, how="all") # colunas totalmente vazias
dataset["Valor"] = pd.to_numeric(dataset["Valor"], errors="coerce").astype("Int64")
7. Reorganizar o índice
dataset = dataset.reset_index(drop=True)
Depois de remover linhas, o índice da tabela fica com buracos. Essa linha renumera tudo.
Passo 4: expandir a tabela tratada
Depois do OK, o Power Query mostra uma tabela pequena com a palavra Table ao lado de dataset. É o resultado do script, ainda "fechado". Clique em Table para expandir.
Repare no resultado: as linhas e colunas vazias sumiram, os espaços foram tratados, Produto e Vendedor estão padronizados com a primeira letra maiúscula e a coluna Valor virou número. Para comparar, clique na etapa Fonte em Etapas Aplicadas e veja como a base era antes. Uma etapa só fez o trabalho de dezenas de cliques.
Passo 5: editar o script para preencher vazios com "Não informado"
Ainda sobrou um detalhe: uma linha sem produto e outra sem vendedor. Em vez de carregar essas células vazias para o Power BI, vamos preenchê-las com "Não informado". Para isso, dá para voltar no script já executado.
- Se o painel Configurações de Consulta não estiver aparecendo, vá na guia Exibição e clique em Configurações de Consulta;
- Em Etapas Aplicadas, encontre a etapa Executar script Python;
- Dê um duplo clique nela ou clique na engrenagem à direita para abrir o código de novo.
Logo depois da linha que converte a coluna Valor para número, e antes de reorganizar o índice, acrescente:
# Tratar as colunas Produto e Vendedor, preenchendo os nulos por "Não informado"
dataset[["Produto", "Vendedor"]] = dataset[["Produto", "Vendedor"]].fillna("Não informado")
Lendo em português: nas colunas Produto e Vendedor do dataset, tudo que for nulo (fillna, de "fill NA") passa a ser "Não informado". Os colchetes duplos servem para selecionar mais de uma coluna ao mesmo tempo.
Clique em OK e depois na última etapa aplicada (no vídeo, Tipo Alterado). As células vazias agora mostram "Não informado".
Passo 6: carregar os dados no Power BI
Na guia Página Inicial do Power Query, clique em Fechar e Aplicar. Quando o carregamento terminar, clique no Modo de exibição de tabela, à esquerda, e confira: Produto, Vendedor e Valor estão limpos e íntegros, prontos para qualquer análise.
Cuidados ao usar Python no Power BI
- Nomes de coluna precisam bater exatamente. Se a sua coluna se chama "Vendedor(a)" ou "valor", ajuste o script. Python diferencia maiúsculas de minúsculas.
- Níveis de privacidade. Na primeira execução, o Power BI pode pedir para definir os níveis de privacidade das fontes de dados. Isso é esperado ao combinar dados com scripts.
- Atualização no serviço do Power BI. Relatórios publicados com etapas em Python só atualizam automaticamente na nuvem por meio de um gateway no modo pessoal, instalado em um computador com Python.
- Guarde o script. Salve o código num arquivo à parte. Ele pode ser reaproveitado em outras bases com problemas parecidos, mudando só os nomes das colunas.
Perguntas frequentes
Preciso saber programar para usar Python no Power BI?
Para começar, não. Você pode colar um script pronto, como o do material desta aula, e entender aos poucos o que cada bloco faz. Com o tempo, ajustar nomes de colunas e regras fica natural.
Onde fica o botão Executar script Python?
No Power Query, na guia Transformar, no final da faixa de opções. Para abrir o Power Query, use Página Inicial > Transformar dados.
O Power BI não encontra o Python. O que fazer?
Confira em Arquivo > Opções e configurações > Opções > Scripts do Python se há um diretório detectado. Se não houver, instale o Python e selecione a instalação nessa tela.
Dá para editar o script depois de executado?
Sim. Em Etapas Aplicadas, dê um duplo clique na etapa Executar script Python ou clique na engrenagem ao lado dela.
Python substitui o Power Query?
Não. Ele roda dentro do Power Query, como mais uma etapa. Faz sentido quando a limpeza tem muitas regras ao mesmo tempo; para ajustes simples, os botões do próprio Power Query resolvem.
Resumo
Para tratar dados com Python no Power BI: confira se o Python está conectado em Opções, instale pandas e matplotlib pelo terminal, abra o Power Query, use Transformar > Executar script Python, cole o script, expanda a tabela e carregue com Fechar e Aplicar. Uma base que parecia impossível de tratar fica limpa em minutos, numa etapa só.
Baixe o material com a base suja e os scripts, e refaça o passo a passo junto com o vídeo.
Bons estudos e até o próximo conteúdo! 🚀


