Hoje vamos falar sobre algo que pode ser muito útil para quem trabalha com dados: como importar PDFs no Power Query. Se você ainda não conhece essa ferramenta, já deixo a dica: você está perdendo tempo e dinheiro! Vamos lá.
O Power Query é uma ferramenta incrível que vem instalada no Power BI e no Excel, que permite que efetuemos limpezas em relatórios dispostos em arquivos de vários formatos, como txt, csv, xlsx, PDF e muitos outros formatos.
Conheça mais sobre o que é o Power Query CLICANDO AQUI.
PDF de uma foto x PDF de um relatório
Antes de iniciar, garanta que o PDF contenha dados estruturados e não “PDF de uma Foto”.
Mas como ver isso? Você pode tentar selecionar os dados do arquivo (usando um Ctrl + A), e caso conseguir, a chance do Power Query ler é muito grande.
Veja um exemplo escandaloso de um pedaço de um PDF que recebi esses dias de um colega.
Podemos ver que foi gerado a partir de uma foto, e esse tipo de PDF o Power Query não consegue ler.
Para ler um arquivo como esse, você pode usar essa opção onde ao selecionar “Da Imagem”, o Excel vai ler uma imagem e converter em uma tabela, mas, fara isso 1 imagem por vez, e não fica bom para todos os casos.
Se o PDF for de dados “selecionáveis”, você abre um mar de opções, e uma delas é poder importar com o Power Query (no Excel ou no Power BI), e melhor ainda: “muitas páginas de uma vez só!“
Importar arquivos PDF no Power Query [Extract]
Para importar um arquivo PDF no Power Query é muito simples, bastando você acessar esta sequencia de menus [no Excel por exemplo]:
Depois disso basta selecionar o arquivo, e vai abrir uma caixa de seleção de objetos como essa da imagem a seguir:
Aqui nessa etapa, você pode optar por confiar na Inteligência Artificial por trás do Power Query, e selecionar essa “Table001 (Page 1-41)”, onde o programa identificou um padrão entre as páginas 1 a 41, e criou um tabelão, juntando todas as páginas.
Perceba como o Power Query já está nos ajudando, pois em cada página podemos ter cabeçalhos, rodapés, e muitos outros caracteres indesejados, que em uma linguagem como Python, teríamos que Limpar na “munheca”.
Clicando nessa primeira tabela, podemos ver que o trabalho está quase pronto, necessitando de poucos ajustes.
Tratamento na Tabela [Transform]
Nossa tabela veio com a primeira linha contendo os cabeçalhos da tabela, e queremos renomear as colunas, com cada uma destas informações:
Em apenas um clique você resolve isso, clicando na aba [TRANSFORMAR] e em seguida usando um dos comandos de tratamento de cabeçalhos:
E agora basta selecionarmos as colunas e alterar o tipo de dados, que em nosso exemplo, podemos ver que as colunas de quantidade e valor estão como texto, e textos não são “somáveis”:
Prontinho!
Nossa primeira transformação de dados está finalizada.
Carregando para o Excel [Load]
Uma vez que importamos e transformamos nosso relatório PDF em uma tabela lindona, podemos carregar ao Excel ou ao Power BI.
Para isso basta clicarmos em [Fechar e Carregar]:
E pronto, seu relatório está disponível para você montar suas análises sobre ele.
Preparei uma Super Aula
Clique Aqui e assista uma LIVE que fiz abordando esse tema, no Power Query, aonde iniciamos com exemplo simples, e no final, juntamos todos os PDF da pasta com Linguagem M (por trás do Power Query), para que você saiba do poder da Ferramenta.
É uma densa, mas que vai fazer você ter ideias do que o Power Query consegue entregar.
Te ensinei o que é ETL e você nem percebeu
Em alguns passos eu te ensinei o processo de ETL, que vem do Inglês: “Extract Transform and Load”.
Essa é a função do Power Query, mas que você também encontra em outras ferramentas como Python também.
Mas eu gosto que meus alunos aprendam primeiro a fazer isso no Power Query, pois a facilidade de começar a entregar resultados apenas com o toque do mouse é algo simplesmente fantástico.
Importar dados de PDF com Power Query [ além do básico ]
Como subsídio em vídeo aula, eu preparei duas aulas gratuitas que vão mudar “o jogo” ai nos seus tratamentos de dados.
A primeira delas, é uma aula onde falo tudo isso que falei anteriormente nesse artigo, e durante a aula, coloco uma pitada de Power Query avançado, mostrando como fazer para reconhecer a posição da tabela na hora da importação de dados, e com certeza, essa parte da aula vai fazer cair o queixo.
Depois, indico que você assista uma de minhas lives mais assistidas, e que decidi manter aberta gratuitamente no Youtube, e por tempo indeterminado.
Nela eu te ensino a “continuação” da aula anterior indicada, mas, com comandos mais arrojados na linguagem M, para montar uma tabela da tabela.
Parece redundante, mas fiz questão de destacar justamente para você ter ciência que vou te mostrar algo diferenciado.
Não é sobre tratar PDF, e sim, Tratar Texto
Uma das dores comuns de meus alunos é justamente se deparar com algo muito especifico no PDF e não conseguir dar o próximo passo, e isso acontece por falta de vivência com a Ferramenta.
Quando buscamos uma post ou vídeo para solucionar um problema, ficamos focados naquele exemplo ensinado, mas, se juntarmos com técnicas de outros CASES de sucesso, com certeza conseguimos entregar soluções robustas.
Semanalmente eu trago uma aula para o Youtube, a qual deixo disponível gratuitamente por alguns dias [depois só para alunos], e em MAIO de 2022 eu trouxe uma sequencia de 2 AULAS sobre extração avançada de dados de PDF, sobre uma arquivo que a Receita Federal do Brasil disponibiliza, chamado TABELA TIPI.
Naquela oportunidade eu mostrava o uso de várias técnicas do Power Query, além do toque do mouse. Mostrei como usar condicionais, listas, registros, filtros, contextos, virtualização e tudo mais.
Quando falamos de extração de dados, falamos de várias técnicas, que juntas resolvem um problema, e você, deve conhecer e praticar essas técnicas para que quando for necessário, saber usar.
Conclusão
Importar PDFs para o Power Query é uma tarefa simples e rápida, mas você viu que existem técnicas avançadas que podem turbinar (e muito), seus trabalhos.
Há anos que reúno as técnicas que uso no meu dia-a-dia em nossa FORMAÇÃO POWER QUERY 2.0, onde você vai aprender tudo sobre Power Query, incluindo como importar PDFs, transformar dados e muito mais.
Não perca a oportunidade de se tornar um expert em tratamento de dados com Power Query!
5 Comentários
Excelente! Super didático!
Obrigada e Parabéns!
E se o PDF for protegido por senha? Mesmo sabendo a senha, o Power Query não pede para digitar e retorna o seguinte erro: Detalhes: “Pdf failed to load with result: PasswordRequired”
Ainda (04/2023) o Power Query não faz leitura de arquivos criptografados, como por exemplo PDF e Excel salvos com senha de abertura.
Existe uma possibilidade de efetuar a descriptografia do arquivo com Python, e leitura posterior com Power Query.
Mas eu recomendo o seu voto na ideia de implementação desta solução na ferramenta, através deste link:
https://ideas.powerbi.com/ideas/idea/?ideaid=d1dae954-3f75-eb11-8ced-281878dec3c7
Parabéns pela aula, suas dicas são Top, tem me ajudado muito! Joviano faz um exemplo de importar um PDF com várias páginas só que nas paginas seguintes não aparece o cabeçalho, como fazer?
E ai Daniel, agradeço pelo reconhecimento.
Mano, vc pode ajustar a função, fazendo que ela retorne duas tabelas, e não uma.
Com isso provavelmente resolve seu problema.
De qualquer maneira, isso se assemelha demais às aulas a seção PDF EM FOCO lá da Formação Power Query 2.0, a qual deixei o link no artigo.