Giter VIP home page Giter VIP logo

querido-diario-toolbox's Introduction

Querido Diário Toolbox

PyPI - Python Version PyPI

O objetivo da querido-diario-toolbox é dar à comunidade do Querido Diário o ferramental para executar suas próprias análises e manipulações com os dados que são obtidos pelo QD. Além disso, a biblioteca também será integrada nas aplicações utilizadas em produção pelo Querido Diário. Ou seja, quem utilizar a biblioteca poderá reproduzir localmente as mesmas etapas de processamento que o QD realiza.

A biblioteca dá diferentes níveis de abstrações para trabalhar com os dados. Desde uma simples limpeza de texto a partir de strings até conversão de arquivos de vários formatos para texto puro.

Instalação

$ pip install querido-diario-toolbox

Atualmente, a querido-diario-toolbox é compatível com Python 3.8+.

Para executar extrações de texto é necessário ter o Tesseract OCR instalado. Assim como ter os .jar do Apache Tika (última versão testada: 1.24.1) e Tabula (última versão testada: v1.0.4) acessíveis para poder passar seus caminhos de arquivo como argumentos.

Exemplos de uso

Exemplos mais elaborados estão disponíveis na pasta ./examples. Você pode visualizá-los (e interagir se desejar) utilizando notebooks Jupyter.

Removendo espaços desnecessários em um texto

In [1]: from querido_diario_toolbox.process.text_process import remove_breaks

In [2]: texto = "\n\n\nEste texto tem vários      espaços em branco\n\n \ndesnecessários.\n"

In [3]: remove_breaks(texto)
Out[3]: 'Este texto tem vários espaços em branco desnecessários.'

Encontrando CNPJs válidos em um texto

In [1]: from querido_diario_toolbox.process.edition_process import extract_and_validate_cnpj

In [2]: texto = "As empresas de CNPJ válidos 00.000.000/0001-91 e 00.360.305/0001-04 existem mas a de CNPJ 12.123.123
   ...: /1234.12 não existe..."

In [3]: extract_and_validate_cnpj(texto)
Out[3]: ['00.000.000/0001-91', '00.360.305/0001-04']

Convertendo arquivo de formato fechado para texto puro e extraindo metadados

In [1]: from querido_diario_toolbox import Gazette
   ...: from querido_diario_toolbox.etl.text_extractor import create_text_extractor

In [2]: config = {"apache_tika_jar": "caminho/apache/tika/jar/tika-app-1.24.1.jar"}
   ...: extrator = create_text_extractor(config)

In [3]: diario = Gazette(filepath="caminho/diario/fechado/diario.pdf")

In [4]: extrator.extract_text(diario)
   ...: extrator.extract_metadata(diario)
   ...: extrator.load_content(diario)

Após a execução de extrator.load_content(diario), dois arquivos (um .txt com o texto puro e um .json com os metadados) serão criados.

Colaborando

Para saber como colaborar com o projeto, seja através de Issues, Pull Requests ou interagindo com a comunidade, leia o documento de colaboração geral do Querido Diário e depois leia o documento de colaboração específico deste repositório.

querido-diario-toolbox's People

Contributors

aassumpcao avatar jvanz avatar ogecece avatar sergiomario avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.