Extraindo dados de Arquivos PDF com Python
HTML-код
- Опубликовано: 6 фев 2025
- Se você já se perguntou como automatizar, de maneira organizada, a extração de informações valiosas de arquivos PDF, este tutorial é para você! No vídeo de hoje, vou mostrar passo a passo como extrair dados de um PDF usando programação Python. Vamos explorar um código prático e eficiente que tornará a extração de dados de PDFs uma tarefa simples.
🔗 Código e Recursos:
github.com/han...
📑 Conteúdo do Tutorial:
Importando as bibliotecas necessárias: PrettyColorPrinter, pdferli, numpy e pandas.
Carregando um PDF para um DataFrame usando a biblioteca pdferli.
Filtrando e organizando os dados extraídos para melhor análise.
Demonstração passo a passo de como o código funciona.
Explicação sobre como as etapas de extração de dados foram implementadas.
Salvar os resultados da extração em um DataFrame e manipulá-los conforme necessário.
Se você está interessado em automação, análise de dados ou simplesmente quer aprender mais sobre programação Python aplicada a situações do mundo real, este tutorial é perfeito para você. Não se esqueça de se inscrever no canal e ativar o sininho para receber mais conteúdo de programação e tecnologia.
👍 Gostou deste tutorial?
Deixe um comentário abaixo compartilhando sua opinião! Se você tiver alguma dúvida ou sugestão, fique à vontade para perguntar. Espero que você ache esse tutorial útil e que ele facilite suas futuras tarefas de extração de dados de PDF.
🚀 Inscreva-se no Canal:
Se você ainda não é inscrito, inscreva-se no canal para receber mais conteúdo de programação, tutoriais de codificação e dicas tecnológicas.
Obrigado por assistir! Espero ver você nos próximos vídeos. Até lá, continue explorando, codificando e inovando! 💻🌟
Você merece um pix, pois ajudou muito. Não pare nunca esse canal!
rs vlw!
Você é um gênio. Muito obrigado, me ajudou muito! Você é top demais, cara.
de nada :)
Finalmente encontrei o vídeo que eu tanto queria, com base no seu vídeo vou estudar agora pra fazer o meu projeto, MUITO OBRIGADO!!
De nada :)
Caramba, muito massa , obrigado por compartilha esse conteúdo, muito bom
Vlw!! Que bom que te ajudou!
To apanhando pra fazer com modelos de extratos bancarios. não to conseguindo organizar tudo. mas uma hora sai, aula ajudou muito.
Que bom!! Entre no discord, talvez a gente te possa ajudar lá (se não forem dados muito sensíveis)
@@pyajudeme9245 To usando um meu mesmo como teste, acho que é de boa. kk vou entrar la.
Conseguiu?
Conseguiu fazer ?
Muito obrigado pelo conteúdo.
Estou apanhando faz alguns dias para extrair de alguns pdfs não copiaveis, isso aqui abriu uma janela muito boa :)
Dá para remover qualquer restrição (tirando senhas) tranquilamente.
@@pyajudeme9245 no meu caso, eu quero extrair alíquotas de impostos de PDFs de livros tributários digitalizados (Antigos). Uma hora consigo kkkk
o PDF é uma imagem ou texto "verdadeiro"?
@@pyajudeme9245 imagem
@pyajudeme9245 ruclips.net/video/glJi3LBgn9U/видео.html achei a solução aqui, só compartilhando esse método :)
Esse Alemão é top! Parabéns, cara!
Vlw!
Amém....um unico video nessse youtube que tem a solução
Por isso, gravei esse vídeo rs
Cara, simplesmente incrível!
Bem útil, né? rs
Parabéns!
Aula incrível!
vlw!!
excelente!!! é possível customizar para a estrutura de um informe de rendimentos?
Claro, para qualquer coisa tirando PDFs com páginas escaneados. É um pouco de trabalho, como se pode ver no vídeo, mas, quando tiver feito, você consegue fazer um parsing em milhões de informes de rendimentos em alguns minutos.
Muito bom. Eu vou precisar desenvolver algo com PDF, mas pode ser o cliente envie as informações via E-mail.
Tenho que garantir que o E-mail possua certa formatação com a identificação do campo a ser informado e o que será informado.
A ideia é que os campos seja colunas do Excel futuramente e as informações sejam registros, contudo, preciso de uma segunda etapa, que pegar essa planilha e gravar num banco de dados, via raspagem.
A proposta é bem interessante e esses vídeos, podem me fornecer grandes ditas, como implementar.
Obrigado pela disponibilidade em repassar seus conhecimentos.
Irei me inscrever no canal.
Obrigado pelo comentário!!
Rapaz, não briga comigo. Assisti o video e sensacional o resultado. Mas fiquei na dúvida: eu tenho que ir nesse github e fazer o que? tenho que instalar quais libs, ou tenho que fazer o que com aqueles codigos la do github para eu poder fazer isso. To com uma demanda aqui que é justamente extração de arquivo PDF e você foi o único que deu solução.
@PyAjudeMe é so dar um pip install pdferli? rapaz to perdendo os cabelos rsrs
Escrevi o modulo porque não achei outra solução na época rs
Primeiro tem que instalar Python: ruclips.net/video/I696ytDkdXo/видео.html Depois, você segue o tutorial. No final, você tenta com seus documentos. Se não conseguir, escreva um comentário ou entre no grupo do Discord
Pq não mostrou juntando o elemento 7:55 ? Sugiro fazer mais videos sobre como trabalhar com essa biblioteca
Não entendi. O que gostaria de saber? Sim, posso fazer!
@@pyajudeme9245 sugiro fazer algo mais "complexo", tipo, extração de dados de nota fiscal ou dados de contracheques para salvar em CSV, Excel ou Json.
Principalmente quando se tem muitos arquivos, no caso de notas fiscais ou, muitas páginas, no caso de contracheques.
Esses PDF, são muito bagunçados, talvez uma playlist ensinando a aplicar seu metodo nesses tipos de arquivos torne sua biblioteca mais popular.
Vou fazer mais uns vídeos, a maioria das mensagens que recebi de possas que queriam fazer um projeto foi sobre ler dados de faturas de cartão de crédito. Acho que começarei por aí.
@@pyajudeme9245ja lançou esse vídeo?
@@pyajudeme9245 Chegou a fazer um vídeo sobre como extrair dados de faturas de cartão de crédito? É exatamente o que eu estou querendo fazer! Rs! Parabéns pela aula. Ganhou like e mais um inscrito!
showww parabéns mano!
Vlw! :)
Muito bom, muito obrigado, me ajudou muito!
Que bom!!
Estou com esse erro ao carregar o meu arquivo. O arquivo exemplo funciona. -> 6299 return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'aa_text'
É um pdf com texto escaneado?
@@pyajudeme9245 Não. É um PDF normal.
@@pyajudeme9245 O seu exemplo de PDF funciona, SÓ DÁ PROBLEMA NOS MEUS PDFS
como você interage com o print utilizando códigos para depois subir o código para o .py? para mim o console python está apenas como visualização
aaaaaaaaa consegui.
clique direito em algum lugar do código > Run file in Python Console
isso rs
Seria facil extrair questões de provas de pdf? Sabendo que os modelos das provas variam? Um so codigo serviria pra todos?
Se conseguir achar características comuns desses elementos, vai ser tranquilo.
Caramba. Aula espetacular, vou instalar k vscode e o anaconda como voce falou em outro video, pois preciso fazer algo semelhante em um pdf de varias paginas e não consigo..
Vlw!!!
tem como fazer no vscode?
Claro que sim, porém, recomendo instalar assim: ruclips.net/video/q4XqnLR2OBM/видео.html para poder mexer de forma interativa
Sensacional, Danke pelo conteúdo!
De nada. Bom que gostou! :)
Muito show seu video, parabéns! Conseguiria nos ensinar a fazer isso mas extraindo dados de identidades (em diferentes formatos/posições/qualidade) por exemplo? Ajudaria muuuuito! O que eu queria era permitir ao usuário, por exemplo, fazer o upload da identidade e o sistema devolver para ele os dados estruturados para ele usar como quiser, como copiar e colar etc.
Valeuuu, tmj!
Se eu conseguisse fazer para uma pessoa sem conhecimento técnico usar, seria milionário. rs Infelizmente, não é tão fácil. O truque é identificar caraterísticas que os dados desejados tem em comum. Com Pandas e NumPy é simples, mas colocar numa GUI e fazer tudo automaticamente não é nada trivial.
@@pyajudeme9245 entendi, obg pela resposta! Eu consegui fazer utilizando nextjs no front pra fazer o drag and drop etc e no backend utilizando django rest (drf) e chamando a api do google document ai. Funciona bem mas eh uma api paga né, dai queria conseguir fazer na mão msm e trocar ela por codigo próprio msm em python rs
Mas de qq forma, obg, já ajudou bastante!
Tô apanhando pra fazer com pdfs propostas comerciais, mas uma hora vai!!
Essa lib é feita para esse tipo de coisa!
professor meu python instalei com ajuda do seu video mas aqui no pycharm não aparece as opções de autocomplete das bibliotecas, do python funciona agora das bibliotecas ele não dá sugestão
Tem que ver no Pycharm
Eu sou leigo em programação, comecei a me aventurar faz pouco tempo, eu gostaria de saber se teria algum outro video explicando a sequencia logica das colunas ? Por exemplo, qual o momento de utilizar aa_x0 ou aa_x1... Com base nesta aula até consegui fazer algo, mas nada muito funcional. Eu trabalho com contabilidade, na area fiscal, e costumo receber algumas declarações de importação para conferencia, e faço o lançamento manual em uma planilha, o problema é que tem algumas DI's com mais de 100 itens, então queria tentar automatizar este processo
Obrigado pelo comentário. Você usa no momento em que esses valores sirvam para você poder distinguir de outros valores. Infelizmente, não há uma solução universal. Mas treinando um pouco, é tranquilo extrair quaisquer dados de qualquer pdf. Acho que vou fazer mais uns vídeos sobre esse assunto. Esse vídeo foi um daqueles que fiz mais para mim, para não esquecer como usar o que montei rs, e agora é o terceiro mais assistido no canal.
@@pyajudeme9245 Sem sombra de dúvidas essa é a melhor forma de extrair dados de pdf, pesquisei muito até vir parar no seu canal... Comecei pelo regex, mas logo vi que seria impossível extrair tudo rs... Já estou super ansioso pelos próximos videos rsrsr... Parabens, seu conteúdo foda, totalmente fora do normal
Vlw! Criei esse modulo porque também não achei nada e também tentei com regex rsrs Com pandas/numpy, você consegue fazer tudo. Já que você trabalha como contador e. provavelmente, usa muito Excel, isso: support.microsoft.com/en-au/office/python-in-excel-dataframes-a10495b2-8372-4f0f-9179-32771fe0dc04 pode ser interessante para você
Valeu pela dica, vou estudar mais sobre o assunto
No meu aparece que o documento PDF nao foi localizado mesmo estando na pasta
As bibliotecas também estao instaladas
Coloque o full path...
@@pyajudeme9245 como faco isso?
Deixa ver o código que está executando atualmente.
Desinstalei e instalei de novo porque sou muito leigo nesta parte
Top de mais!
vlw!!
Olá amigo, tem como disponibilizar o ficheiro utilizado na aula?
O link encontra-se na descrição github.com/hansalemaos/pdferli/tree/main/example
Obrigado Sr. Professor.
de nada :) Vi que vc tem um canal de Excel. Python (pandas) para Excel já saiu?
se a separação não ocorrer igual o momento ruclips.net/video/JQoPGhVVPJk/видео.html, o que posso fazer?
Suba um screenshot para eu ver.
Eu preciso automatizar a extração de dados de uma fatura e passar esses dados para o excel, tem alguma dica? Sou novo com programação
Com esse tutorial vai conseguir!
@@pyajudeme9245 obrigado, estou tentando fazer de acordo com o video mas to tendo um pouco de dificuldades kkk mas vou conseguir
parabéns
Obrigado!
Você usou neste video o VSCODE? Ou o Jupyter notebook?
PyCharm, mas recomendo VSCode hoje: ruclips.net/video/q4XqnLR2OBM/видео.html
Faz um tool de conversa com pdf tipo um chat gpt por favor
Se eu conseguisse fazer para uma pessoa sem conhecimento técnico usar, seria milionário. rs Infelizmente, não é tão fácil. O truque é identificar caraterísticas que os dados desejados tem em comum. Com Pandas e NumPy é simples, mas colocar numa GUI e fazer tudo automaticamente não é nada trivial.
Irmão blz? Gostei muito da sua biblioteca pdferli, saberia me dizer qual é a unidade da posição dos caracteres que sai no DataFrame? “aa_x0” , “aa_x1”, “aa_y0” e “aa_y1” estão em milímetros?
Putz, não lembro mais rs. Mas aqui deveria ter: o módulo que uso para obter os dados: pdfminersix.readthedocs.io/en/latest/
@@pyajudeme9245 tranquilo! Rs
Eu acabei descobrindo fazendo algumas contas, estão pixels 72 DPI
Vlw!
Boa tarde. Eu Fiz seu condigo oara extrair pdf. Só que o meu deu certo até no df4. Depois os dados não ficam organizados. Meu arquivo pdf nem todos os títulos são negrito. Teria como uma solução
Claro que tem como, mas você precisa achar caraterísticas que o texto que você quer extrair tem em comum (distancia x/y funciona bem, fonte do texto, espaço entre as linhas ... ). Qualquer coisa ajuda.
Boa Noite. Consegui fazer. Troquei na linha do df3, para ax_y0 e na linha df4.loc[:, x0round] = df4.aa_y0.riund(0). Resumindo troquei onde era x por y. Aí deu certo. Queria saber agora se eu tive vários arquivos iguais, como fazer para juntar em uma planilha só e manter só o cabeçalho e extrair os dados dos pdf, tipo colocar eles em uma pasta.
Em que parte do código eu devo fazer fazer o loop
pd.concat - ruclips.net/video/4sFcnGA7LJ0/видео.html / pandas.pydata.org/docs/reference/api/pandas.concat.html
No caso seria primeiro ler todos pdf filtrar os dados conforme seu código e já criar um único arquivo pdf
Olá eu consigo pegar isso converter para um json?
Sim, pode colocar tudo num dict e fazer um dump com a biblioteca json
Porém depois eu queria criar isso como um serviço para outras pessoas usarem? Pegar esse pdf converter em json e transformar num serviço?
Sem chance, para cada formato, tem que criar um script. A maioria das pessoas que queria que eu fizesse um script, precisava para faturamentos de cartão de crédito. Você poderia preparar para cada banco e vender. Não é tanto trabalho. Mas tome cuidado: tem que ser para cada formato. Se a fatura de Personnalité do Itaú for diferente que "a fatura comum", tem que criar outro script
@@pyajudeme9245 na verdade amigo eu tenho um pdf com informações que é uma declaração de importação.. queria pegar esses dados e converter em um json para pessoas poderem utilizar? Isso sendo um serviço claro. Um lambda com alguma cloud
Se tiver diversos outros pdf's do mesmo modelo inicial e preciso tirar informações deles, daria para fazer?
Claro! É a ideia do módulo! :)
No meu aparece que o documento PDF nao foi localizado mesmo estando na pasta
As bibliotecas também estao instaladas
@pyAjudeMe não poderia fazer um tutorial com o VS code? :(
Usou vscode hoje em dia! Tem um video no meu canal sobre como instalar
Cara tu é Rio Preto mesmo ou foi coincidência esse arquivo? Sou de. Rio Preto e assustei jkkkkk
rsrs não
mto bom, mas to vendo que irei demorar pra chegar nesse nível de conhecimenot. Eu já utilizo o tabula para extrair tabelas mesmo.
Não vai demorar não. Importante é começar. rs
Tenho uma dúvida fora do contexto do vídeo… é possível que usamos o TikTok pelo selenium sem que ele perceba ? Exemplo, o Bot entrar na conta, dar um like, sair ou fechar o selenium e depois entrar só que usando outro loguin e senha. Assim sucessivamente com várias contas sem que o TikTok perceba?
Ou seja um auto like full autônomo?
Se haver 100 contas ele entrar uma por uma e fazer essa ação sem que o TikTok perceba ? Fiz uma automação assim porém o TikTok percebe que é selenium mesmo ofuscando 😂
Dá para fazer com SeleniumBase e, provavelmente, também com undetected Chromedriver, mas precisaria vários endereços IP
Eu tentei, inclusive existe alguns exemplos no github. Porém em certo momento o TikTok começa a pedir captcha… na verdade acredito que nesse caso um resolver captcha automático e mais lógico nesses caso. Não sei rsrs… parabéns pelos seus vídeos. Asssisti quase todos e olha que conheci o canal a 3 dias 😂
Obrigado! Finalmente, uma menina assistindo ao meu canal. rs Qual captcha é? Dê uma olhada aqui: ruclips.net/video/7x52j5idG2w/видео.html TikTok, provavelmente, acha suspeito que há tantas contas do mesmo IP. VPNs geralmente não funcionam. O que pode ajudar é algo assim: pt.aliexpress.com/item/32883847484.html
Mais uma dica: faça com ADB e emuladores de Android. Daí, você não precisa fazer o login. Já gravei muitos vídeos sobre esse assunto.
@@pyajudeme9245 SEUS VÍDEOS DE ADB DEI UMA OLHADA, PORÉM NÃO ENCONTREI UM AO QUAL FOSSE MOSTRADO A ALTERAÇÃO ENTRE AS CONTAS. PORQUE NA VERDADE QUERO CRIAR AS CONTAS E REVEZAR ENTRE ELAS PARA CURTIR AS PUBLICAÇÕES DE UM PERFIL ESPECÍFICO. NO CASO DO TELEFONE OU EMULADOR NÃO VI O TIKTOK PEDIR CAPCHA. BUSCO CRIAR ESSA AUTOMAÇÃO OU PARA TIKTOK OU INSTAGRAM.
E se tiver senha no PDF?
Na minha lib tem um brute force crack para pdfs com senha, mas se a senha for muito grande, você vai esperar um tempiho rsrs
Achei o conteúdo extraordinário, porém preciso entender o início do vídeo, para iniciantes é confuso e não consegui enxergar a tela de acessos, muito escuro. Ressalto para iniciantes mesmo que deve ter muita dificuldades.
Vlw! Vou te ajudar com o início. Você já instalou Python? Você sabe um pouco de Python? Em primeiro lugar, gravei esse vídeo para documentar para mim mesmo como usar o módulo que escrevi para não esquecer. Hoje é o vídeo mais assistido no meu canal. Eu sabia que ia interessar algumas pessoas, mas não tantas. Se eu soubesse, teria explicado o início com mais detalhes.
Fiz tudo e nao consegui
Pode subir um pdf e os queries de pandas que você fez?
fiz de python
fiz de python. qundo vc abaixa o pdf vcvai na configuraçao ope in ou local history@@pyajudeme9245
Pode explicar melhor?
@@pyajudeme9245 vc tem um email que eu possa mandar uma foto
@@pyajudeme9245 vc tem um email para me explicar melhor quando dabo import pdferli.get_pdfdf() não 🚫 pega está importação aqui no python
Tem como configurar isto
Python que eu uso e o 3.12
Não consigo abaixar o python 3.9
👀