Como ler tabelas de artigos e documentos com Python?
Quando faço a leitura de artigos, livros, teses ou outros documentos, com frequência me deparo com tabelas de diversas formas.
Na maioria das vezes preciso apenas ler o documento, mas e se estivesse realizando um trabalho acadêmico, uma pesquisa ou mesmo um projeto pessoal e precisasse utilizar aqueles dados da tabela?
Ok! Eles estão em formato PDF e isso já ajuda muito.
Mas como iria coletar esses dados? CRTL + C e CRTL + V ?
Hum… trabalhão né?!
Nesse artigo irei mostrar como você pode coletar dados de tabelas em PDF (e se ainda quiser, manipular e salvar em outro formato) utilizando o Python.
Bora lá?!
Sumário
- Lendo a tabela
- Salvando tabela em outro formato
- Lendo tabelas grandes
- Considerações finais
Lendo tabela
Para ler tabelas com python, nós podemos utilizar a biblioteca tabula-py.
Instalo e importo ela para dentro do notebook:
Aqui para exemplo irei ler a tabela que está na página 11 deste artigo.
Usarei o tabula.read_pdf(), passarei o link do download em pdf e a página:
Ele me gera uma lista:
Que ao selecionar a primeira posição dela, já me retornar um dataframe do Pandas:
Com isso você pode manipular a vontade.
Fácil né?!
Salvando tabela em outro formato
O pandas já possui as ferramentas para salvar em diversos formatos (confira na documentação, se você não conhece).
Mas o tabula também pode já fazer isso direto, com o convert_into():
Pronto, já salvou a tabela em formato csv.
Lendo tabelas grandes
Com alguma frequência encontro tabelas bem grandes.
Uma, duas ou até mesmo 3 páginas de tamanho.
Como a desta tese.
Mas com o tabula fica fácil.
Você importa os dados, passa as páginas e depois acessa os dados formando 3 dataframes.
Com eles, você poderá concatená-los e transformar eles em um só.
Ou…
Lendo a documentação encontrei algo muito valioso.
output_format:
Você fornece ele e o formato que deseja (também aceita json).
Com isso, ao você chamar o dados[0], ele já transforma todos em um DataFrame único! :D :D :D
Muito legal né?!
Considerações finais
Espero que você tenha curtido e conhecido uma nova forma de facilitar a leitura e coleta de dados tabulares em documentos.
O vídeo que me fez conhecer o tabula foi este aqui:
Que ficou incrível a sacada de todo o cálculo para entendermos o fator dedicação X sorte, utilizando python.
E você, já conhecia esse método?
Você conhece outro método?
Se sim, compartilhe comigo e deixe aí embaixo nos comentários.
Se você chegou até aqui e curtiu, dê palmas, compartilhe e se inscreva para me acompanhar.
Ainda há muito a se explorar…