Como Ler Tabelas em PDF Usando o Python [Extrair Tabelas de um Arquivo PDF]

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 มิ.ย. 2021
  • CLIQUE AQUI PARA SABER MAIS SOBRE O CURSO COMPLETO PYTHON IMPRESSIONADOR:
    lp.hashtagtreinamentos.com/es...
    PARA BAIXAR O MINICURSO GRATUITO DE ANÁLISE DE DADOS: pages.hashtagtreinamentos.com...
    Aqui nos vídeos do canal da Hashtag Programação ensinamos diversas dicas de Python para que você consiga se desenvolver nessa linguagem de programação!
    -----------------------------------------------------------------------
    ► Arquivos Utilizados no Vídeo: pages.hashtagtreinamentos.com...
    ► Vídeo de Instalação do Jupyter: • Instalando o Jupyter -...
    ► Vídeo de Introdução ao Pandas no Python: • Introdução ao Pandas n...
    -----------------------------------------------------------------------
    Caso prefira o vídeo em formato de texto: www.hashtagtreinamentos.com/l...
    -----------------------------------------------------------------------
    Hashtag Programação
    ► Inscreva-se em nosso canal: bit.ly/3c0LJQi
    ► Ative as notificações (clica no sininho)!
    ► Curta o nosso vídeo!
    -----------------------------------------------------------------------
    Redes Sociais
    ► Blog: bit.ly/2MRUZs0
    ► TH-cam: bit.ly/3c0LJQi
    ► Instagram: bit.ly/3o6dw42
    ► Facebook: bit.ly/3qGtaF2
    -----------------------------------------------------------------------
    Fala Galera! Nessa aula nós vamos te mostrar como ler tabelas em PDF usando Python!
    Isso mesmo, a ideia é te ensinar como extrair tabelas de um arquivo PDF! Vamos te mostrar um exemplo prático de como extrair tabelas com Python.
    Isso é para facilitar e automatizar algum trabalho que tenha para não ter que puxar as tabelas de forma manual.
    Para isso nós vamos utilizar a biblioteca tabula-py no Python e a biblioteca pandas, então se você ainda não está familiarizado com os métodos do pandas nós já deixamos um vídeo explicando tudo o que precisa saber do pandas.
    Outro ponto importante é que utilizaremos o Jupyter (temos vídeo aqui no canal também de como instalar) e você precisa ter o Java instalado no seu computador, pois esse método vai utilizar o Java para obter as tabelas.
    Por fim vamos te mostrar os resultados dessa extração e os problemas que isso pode ter, pois nem sempre a tabela será extraída da maneira correta, então vamos te mostrar algumas maneiras de tratar quando isso acontecer.
    É claro que vamos fazer um breve tratamento de dados utilizando os métodos do pandas, mas você pode ir detalhando e aprofundando mais no vídeo da descrição para aprender mais sobre pandas e esse tratamento de dados!
    Agora bora pra aula que tem muito conteúdo!
    -----------------------------------------------------------------------
    #python #hashtagprogramacao

ความคิดเห็น • 103

  •  3 ปีที่แล้ว +18

    Fala galera!
    Gostou do vídeo? Deixa a sua curtida e se inscreve no canal!
    ► Para baixar o Minicurso de Python, acesse: pages.hashtagtreinamentos.com/inscricao-minicurso-python-automacao-org?origemurl=hashtag_yt_org_minipython_8eNxZI-3Bxs
    ► Para baixar os arquivos da aula, acesse: pages.hashtagtreinamentos.com/planilha-1OlynwEow-BR1a6DKGoC-oXxe6O4cD4Ob?origemurl=hashtag_yt_org_planilha_8eNxZI-3Bxs
    ► Para instalar o Jupyter, acesse: th-cam.com/video/_eK0z5QbpKA/w-d-xo.html
    ► Blog: bit.ly/2MRUZs0
    ► TH-cam: bit.ly/3c0LJQi
    ► Instagram: bit.ly/3o6dw42
    ► Facebook: bit.ly/3qGtaF2

  • @alexmatos5343
    @alexmatos5343 3 ปีที่แล้ว +34

    Uma outra dica além do Lattice e do Guess: podem usar stream=True como argumento do read_pdf() também! Estou indicando isso pois estava com um problema pra extrair uma tabela de uma nota de corretagem e esse stream=True ajudou muito!

    • @jpsasvirtual
      @jpsasvirtual 3 ปีที่แล้ว +1

      muito obrigado pela informação, me ajudou bastante eu usei o guess=False e stream=True juntos

    • @jonathassantos8304
      @jonathassantos8304 2 ปีที่แล้ว

      Ac

    • @genesebarbosa
      @genesebarbosa 2 ปีที่แล้ว +1

      Isso … usando o stream=True no meu caso foi possível ler o cabeçalho da tabela … vi esse parâmetro na docstring do método.

    • @valdecimarcelo2275
      @valdecimarcelo2275 ปีที่แล้ว

      @@jonathassantos8304 vhbbvvj

    • @mauriciobarreto1553
      @mauriciobarreto1553 8 หลายเดือนก่อน

      @@jpsasvirtual também usei pages = 'all', guess=False, stream=True para leitura de notas de corretagem de opções

  • @alexmatos5343
    @alexmatos5343 3 ปีที่แล้ว +5

    Esse Lira é um vidente. Há poucos dias atrás eu estava justamente procurando por formas de ler tabelas em arquivos PDF. Achei justamente o tabula, funcionou muito bem no meu caso! Muito bom Lira 🔮

  • @pteixeira1089
    @pteixeira1089 ปีที่แล้ว +2

    O ajuste desse parâmetro lettice=true resolveu uma dor de cabeça que eu teria aqui! Obrigado, Lira e equipe Hashtag!

  • @user-tv2cz2pf5w
    @user-tv2cz2pf5w 4 หลายเดือนก่อน

    Não é bruxaria...
    ...é tecnologia!
    kkkkkkk
    Lira como sempre dando um show de didática.
    O cara nasceu para ensinar, tem o dom.

  • @AgnaldoPinheiro
    @AgnaldoPinheiro 3 ปีที่แล้ว +3

    Excelente, Lira. Mais uma grande aula com sua didática de alta qualidade. Muito obrigado por compartilhar.

  • @renatolima4932
    @renatolima4932 ปีที่แล้ว +2

    Lira, você nasceu pra ensinar irmão!

  • @normalzitro750
    @normalzitro750 3 ปีที่แล้ว +3

    Eu adoro o video do flypbird com python, pois ao contrário de outras linguagens de programação o python é fácil.

  • @gildaohunter
    @gildaohunter ปีที่แล้ว +1

    Bruxaria isso Aê! 🧙‍♂️
    Lira é foda demais. Não à toa tô fazendo o curso completo com muito afinco. O Python vai me ajudar demais no trabalho. Estou com 10% do curso concluído (em andamento) e já aplicando o Python na prática.

  • @supermetaverso7569
    @supermetaverso7569 ปีที่แล้ว

    ei vcs são fora de sério !!! muito obrigado pelo conteúdo de qualidade.

  • @aruasb
    @aruasb 3 ปีที่แล้ว

    show demais essa aula !!! Por isso comprei o curso !

  • @nerdsgeeks5722
    @nerdsgeeks5722 3 ปีที่แล้ว +2

    Muito top seus videos... Parabéns..Estou aprendendo muito aqui.

  • @queiroz-rafael
    @queiroz-rafael 2 ปีที่แล้ว

    Parabéns! Excelente vídeo. Muito bom conhecer esta biblioteca Tabula.

  • @WallaceCarlis
    @WallaceCarlis 3 ปีที่แล้ว

    Excelente mais uma vez, nota 10 moço!

  • @tcaxn
    @tcaxn ปีที่แล้ว +1

    A didática do Lira é muito boa!

  • @annasc8280
    @annasc8280 2 ปีที่แล้ว

    Parabéns pela aula! Sensacional!!!

  • @andrelovo7333
    @andrelovo7333 3 ปีที่แล้ว

    Muito bom!! Show de bola!! Parabéns!!!

  • @sobolev4593
    @sobolev4593 2 ปีที่แล้ว

    Que da hora! Com isso, acho que consigo ler uma nota de corretagem e exportar para o Excel ao invés de fazer o processo manualmente.

  • @Jubsguarnieri
    @Jubsguarnieri ปีที่แล้ว

    moço, você é meu salvadoor, muito obrigada!

  • @suelanesilva2743
    @suelanesilva2743 11 หลายเดือนก่อน

    Parabéns pelo trabalho meu mano, obrigada, ajudou de mais!!

  • @normalzitro750
    @normalzitro750 3 ปีที่แล้ว +3

    oi adoro seus videos já estou construindo uma inteligência artificial com python, devido seus ensinamentos

    • @gabrielsozinho
      @gabrielsozinho 3 ปีที่แล้ว

      Oi, tenho interesse em aprender a criar inteligências artificiais com Python. Se você puder me ajudar...
      Meu objetivo é criar uma assistente virtual, com um banco de dados Online e com API's.
      Ela vai poder auxiliar em diversas coisas. Se você puder me falar como você aprendeu essas coisas e me recomendar algumas fontes boas eu agradeço muito

    • @gabrielsozinho
      @gabrielsozinho 3 ปีที่แล้ว

      Eu já tenho um conhecimento base de Python, até sei criar uma assistente virtual. Mas quero aprender a criar inteligências artificiais. Queria que ela realmente soubesse pensar e interagir/conversar com o usuário

    • @normalzitro750
      @normalzitro750 3 ปีที่แล้ว

      Oi... Te recomendo tentar uma rede neural(essa informação é melhor explicada no video 1 do projeto Flippy bird do canal hashtag programações) POR EXEMPLO: A inteligência artificial verifica se há algumas determinadas palavras no que você digitou e caso sim manda 20 respostas numeradas diferentes e aleatórias, depois basta você criar um input onde você digitara 3 números das melhores frases que a inteligência artificial construiu e armazena-las em um dicionário ou array exemplo:
      Olá tudo bem?
      1 sim esta!
      2 quem é voce?
      3 e um prazer te conhecer
      qual a melhor resposta: 1

  • @paulocomora5509
    @paulocomora5509 2 ปีที่แล้ว

    Irmão, Deus te abençoe sempre, que conteúdo fantástico, um dia gostaria de ter oportunidade de apresentar meu projeto.

  • @BrunoAnjos-xi7rm
    @BrunoAnjos-xi7rm 6 หลายเดือนก่อน

    Parabéns! Ajudou muito!

  • @markuscaldeira
    @markuscaldeira 2 ปีที่แล้ว

    Ótimo. Muito obrigado.

  • @biancafeitoza4030
    @biancafeitoza4030 ปีที่แล้ว

    Muito obrigada! Me deu esperança de conseguir também! :)

  • @gabrielfrancisco716
    @gabrielfrancisco716 2 ปีที่แล้ว

    Muito obrigado ajudou muito !

  • @veniciusrodrigues3017
    @veniciusrodrigues3017 3 ปีที่แล้ว +2

    Parabéns Lira, cirurgico como sempre, B.R.U.X.O

  • @Daniel-ni3nh
    @Daniel-ni3nh 3 ปีที่แล้ว +2

    Seu conteúdo e o melhor ainda bem que assistir sua propaganda no TH-cam kk

  • @andregorny.broker
    @andregorny.broker ปีที่แล้ว +1

    Fala Lira! Primeiramente, parabéns pela excelente semana de intensivão! Abusurdamente bom!!
    Estou com um problema pra usar o Tabula, estou recebendo a seguinte mensagem:
    AttributeError: module 'tabula' has no attribute 'read_pdf'
    Já tentei de tudo!!

  • @ambyengenhariaambiental944
    @ambyengenhariaambiental944 2 ปีที่แล้ว +3

    Otimo canal e videos excelentes !!
    pode ensinar como fazer o mesmo procedimento para vários PDFs ao mesmo tempo?
    Obrigado!!!

  • @FeFerrari1987
    @FeFerrari1987 2 ปีที่แล้ว +4

    Muito boa aula.
    Por que não usar o VSCode, já que da pra integrar tudo nele sem a necessidade de estarmos instalando um monte de programas?

  • @mjcamposyt
    @mjcamposyt ปีที่แล้ว

    Excelente!!!

  • @silviabrasil517
    @silviabrasil517 หลายเดือนก่อน

    Muito boa essa aula!
    Ao praticar me ocorreu uma dúvida, se a tabela vier sem cabeçalho, como faço para incluir?

  • @kaiquelopes9386
    @kaiquelopes9386 3 ปีที่แล้ว

    Brabo demais

  • @MrMefudi
    @MrMefudi ปีที่แล้ว +1

    e aquele NAM ali em cima da tabela depois do tratamento? tem tabela que eu importo que vem com varios NAN, como que tira isso?

  • @stanislauabreu8717
    @stanislauabreu8717 ปีที่แล้ว

    Esse vídeo é para aplaudir de pé!
    Parabéns pelo conteúdo!

    •  ปีที่แล้ว

      Muito obrigado! Ficamos muito felizes em poder ajudar com nosso conteúdo! 🙏

  • @thetone5811
    @thetone5811 2 ปีที่แล้ว

    Valeu!

  • @alansouza7879
    @alansouza7879 ปีที่แล้ว

    isso ai é ouro! '-'

  • @tiagohnf
    @tiagohnf 2 ปีที่แล้ว

    galera, para contribuir:
    Stream looks for whitespace between columns, while Lattice looks for boundary lines between columns.
    guess, se não me engano, adivinha a área onde está a tabela na página, que é o oposto de você difinir a área usando a opção area.

  • @Daniel-ni3nh
    @Daniel-ni3nh 3 ปีที่แล้ว +2

    Lira as vezes no evento intensivão de Pithon a tabela nao abria dei esse feedback em um comentário na aula 1 a tabela ficava toda bugada quando eu tentava calcular o faturamento e quantidade espero um retorno isso até me desanimou pras outras aulas mais baixei elas pra assistir depois
    Edit: vendo o seu vídeo agora sera que foi porque não tinha o java

  • @jorgemaranho
    @jorgemaranho ปีที่แล้ว

    Demais!

  • @clebersena4140
    @clebersena4140 หลายเดือนก่อน

    Lira o que devo fazer qnd os titulos das colunas não carrega em algumas tabela que peguei do pdf?

  • @GustavolimagamerBR
    @GustavolimagamerBR 6 หลายเดือนก่อน

    e como eu faria pra ele ler um arquivo que é gerado so com tabelas e que pode acontecer de ter menos tabelas no proximo arquivo pdf?

  • @humbertovogeley129
    @humbertovogeley129 2 ปีที่แล้ว

    Lira, tudo bem. Como faço quando preciso da tabela mas também de informações fora da tabela, digo no titulo do arquivo, uso o PyPDF2 também? fica pesado, esses pacotes ficam acumulados ou ao sair da função eles descarregam da memoria. Grato

  • @jonathassantos8304
    @jonathassantos8304 2 ปีที่แล้ว +1

    Lira, como faço para salvar o arquivo em xlslx após as modificações ?

  • @thiagomarques3120
    @thiagomarques3120 หลายเดือนก่อน

    Muito bom o video, mas tenho uma duvida. Caso uma linha de valores se torna cabeçalho como resolver??

  • @viniciusdamascenotou
    @viniciusdamascenotou 2 ปีที่แล้ว +1

    Boa noite. Como faço para o Python ver uma imagem em uma página na internet é escrever oque tem na imagem ?
    Suas aulas são show, parabéns.

  • @Rodrif50
    @Rodrif50 2 ปีที่แล้ว

    Parabens pelo video!! So fiquei com uma dúvida: e para exportar o dataframe em excel? alguem sabe como faz?

  • @regicsf
    @regicsf 2 ปีที่แล้ว

    Olá. Parabéns pelo video. Você teria alguma dica de como ler a cor da célula em uma tabela que está dentro de um PDF?

  • @davitonsantos5084
    @davitonsantos5084 3 ปีที่แล้ว +2

    Faz um vídeo explicando o pysimpleGUI

  • @jairodioge3933
    @jairodioge3933 3 ปีที่แล้ว +2

    Fala Lira, que tal uma aula de Django?

  • @felipelandim2881
    @felipelandim2881 3 ปีที่แล้ว +1

    MEU DEUS SEUS LINDÕES DA PORRA VOCÊS FIZERAM MESMO

  • @joaopedroalberton1589
    @joaopedroalberton1589 ปีที่แล้ว +1

    Funcionou muito bem, mas quando eu gero um .exe a partir do programa com o tabula ele não funciona 🤔

  • @ac-devfullstack9709
    @ac-devfullstack9709 ปีที่แล้ว

    Show! Excelente vídeo, só uma dúvida como converter html para pdf?

  • @deboasporai
    @deboasporai 26 วันที่ผ่านมา

    chefe, como fazer para extrair os valores de um PDF de NFE?

  • @lucianopessanha7437
    @lucianopessanha7437 3 ปีที่แล้ว

    ❤️

  • @jonathassantos8304
    @jonathassantos8304 2 ปีที่แล้ว

    João, tu manja de Java também? brabo demais!

  • @freedoom4090
    @freedoom4090 2 ปีที่แล้ว

    Lira, como que podemos saber se tem o java no linux?

  • @5m501
    @5m501 2 ปีที่แล้ว

    Para quem já tentou , é melhor usar o python ou VBA para ler PDFs e extrair tabelas ?

  • @matheusm6786
    @matheusm6786 3 ปีที่แล้ว

    Mesmo seguindo o passo a passo minha tabela não fica bonitinha desse jeito do modo display. Fica no formato de tabela mesmo do python. Sim, eu importei o pandas. Alguém sabe como resolver ou o que é?

  • @yinditorres9638
    @yinditorres9638 2 ปีที่แล้ว

    Quando a mesma tabela ocupa mais de uma página do PDF, ele considera como outra tabela, quando pula de página. Como fazer ele considerar mesma tabela?

  • @rmb804
    @rmb804 3 ปีที่แล้ว +2

    Lira, tem algum vídeo no canal que mostra como exportar estas tabelas extraídas no Python e exportando para o excel?

    • @darlenedullius400
      @darlenedullius400 2 ปีที่แล้ว +2

      Oi, eu exportei aquelas duas primeiras planilhas dessa forma:
      for i in range(len(lista_tabelas)):
      lista_tabelas[i].to_excel('df%d.xlsx'%i)

    • @Giancarlosenna
      @Giancarlosenna ปีที่แล้ว

      tenho a mesma duvida
      alguem conseguiu resolver?

  • @freedoom4090
    @freedoom4090 2 ปีที่แล้ว

    Lira, ensina a configurar esse 'display(df)' no pycharm/linux. Morro tentando instalar o anaconda no ubunto, mas sempre dá pau. Já tentei configurar o 'display' aqui, mas dá erro. Mór feio printar df sem o display

  • @danielnascimento1009
    @danielnascimento1009 3 ปีที่แล้ว +1

    Muito bom, depois de feito isso, posso exportar pro Excel se eu quiser né isso?

    • @EltonSenne
      @EltonSenne 2 ปีที่แล้ว +1

      executar o método to_excel.
      Exemplo: tabela[indice].to_excel(excel_writer="caminho/nomearquivo.xls")

  • @ferramentasempresas
    @ferramentasempresas 2 ปีที่แล้ว

    Consigo usar esses codigo no google colab???

  • @pedrooliveira6954
    @pedrooliveira6954 2 ปีที่แล้ว

    Existe como ler tabelas cujo arquivo pdf esteja como imagem?

  • @felipeseiitisaruwatari4122
    @felipeseiitisaruwatari4122 ปีที่แล้ว

    ei galera alguem pode me ajudar como que eu faco pra colocar um arquivo pdf quando ele tem senha

  • @joaomaia2898
    @joaomaia2898 3 ปีที่แล้ว

    o estranho ao tentar usar pelo spyder é que houve a necssidade de declarar a variavel "tabela" como um dataframe antes de rodar o loop..
    pelo jupyter realmente não é necessário?

    • @dhusjwbaak
      @dhusjwbaak 8 หลายเดือนก่อน

      estou tentando pelo vscode
      não consigo utilizar o tabula.read_pdf e já vi que na documentação do api tem texto sobre

  • @ezanardo
    @ezanardo 2 ปีที่แล้ว

    Estou com um pdf que o tabula não consegue ler de forma alguma.

  • @freedoom4090
    @freedoom4090 2 ปีที่แล้ว

    vlw pelo conteúdo! se puderem fazer um vídeo sobre principais erros do pandas seria bem legal. Fico horas tentando encontrar soluções para coisas como ''AttributeError: 'dict' object has no attribute 'set_index''' e "TypeError: unhashable type: 'slice'". Sinceramente esses erros desanimam, cheguei a pensar em desistir do pandas pq toda hora é uma novidade dessas, travando todo o desenrolar dos projetos.

  • @weihmayrs
    @weihmayrs 3 ปีที่แล้ว +1

    Show de bola! Mas tenho uma dúvida: em que momento o pandas foi importado???

    • @XtremGod
      @XtremGod 3 ปีที่แล้ว

      Marcelo, bom dia, eu costumo importar no começo de tudo, um dos primeiros passos a fazer é importar as bibliotecas. Faça isso no topo, junto com outras bibs. Se importar depois de um texto, só vai valer depois do texto.

    • @EltonSenne
      @EltonSenne 2 ปีที่แล้ว +1

      As tabelas retornadas pelo tabula já são um objeto pandas, vc pode aplicar os metodo diretamente sobre as tabelas.
      Um exemplo: tabela[0].to_csv("caminho/arquivo.csv")
      o método to_csv já é um metodo pandas

  • @kamillagenetica8687
    @kamillagenetica8687 3 ปีที่แล้ว

    Nunca consigo fazer nada neste jupyter

  • @lucaspaiva7189
    @lucaspaiva7189 ปีที่แล้ว

    soft!!!

  • @franciscodeassisaraujodacr335
    @franciscodeassisaraujodacr335 2 ปีที่แล้ว +2

    e quando a tabela tem mais de uma pagina?

    • @robsonleandro8129
      @robsonleandro8129 2 ปีที่แล้ว

      tbm gostaria de saber

    • @Giancarlosenna
      @Giancarlosenna ปีที่แล้ว

      import tabula
      import pandas as pd
      lista_tabelas = tabula.read_pdf("credores1.pdf", pages="3-10")
      print(len(lista_tabelas))
      for tabela in lista_tabelas:
      display(tabela)
      é só colocar o Hífen entre a primeira e a ultima página

  • @gabryelrodrigues8832
    @gabryelrodrigues8832 2 ปีที่แล้ว

    Lira, tentei juntar duas tabelas que estão dentro do PDF mas não consegui, tem como ?

  • @gabrielfrancisco716
    @gabrielfrancisco716 2 ปีที่แล้ว

    Pessoal como posso salva o arquivo editado em csv

    • @regicsf
      @regicsf 2 ปีที่แล้ว +1

      Procure uma função do pandas.DataFrame chamada "to_csv".

    • @gabrielfrancisco716
      @gabrielfrancisco716 2 ปีที่แล้ว +1

      @@regicsf vlw!

  • @recortesdavida5747
    @recortesdavida5747 3 ปีที่แล้ว

    dá para usar o TABULA NO google colab

    • @thalesesteves
      @thalesesteves 3 ปีที่แล้ว

      Dá, funciona direitinho.
      Lá você precisa instalar com !pip install tabula-py (com essa exclamação no início)

  • @gamernecessario
    @gamernecessario 2 ปีที่แล้ว

    iii o que é anaconda? não manjo

  • @gustavodeandrade6373
    @gustavodeandrade6373 3 ปีที่แล้ว

    Será que ao invés de eu ler uma tabela em um pdf seria possível eu ler um gráfico? gerar dados através de um gráfico.. contrário do normal! rs