/censo-cnfe

Parser e CLI para o CNFE (IBGE - Censo 2010)

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

CENSO-CNFE PARSER E CLI

Projeto para parsear os dados do diretório CNFE do último censo.

Esse projeto ainda é bem experimental (sim, funciona). Colabore com pull requests e issues =]

Sobre os dados

Para utilizar esse projeto é necessário baixar os dados diretamente do site/ftp do IBGE. Se você tiver algum problema para baixar esses dados e/ou quiser apenas a base de dados processados, eu posso tentar ajudar. (abra uma issue)

A CLI (command line interface)

A CLI permite exportar dados para arquivos ou DBs. A versão atual sabe lidar com diretórios, arquivos .zip e arquivos .TXT (os formatos disponíveis no site/ftp do IBGE).

Para exportar os dados para os DBs disponíveis, você deve utilizar o arquivos settings.json correspondente disponível no diretório settings/ (e.g. settings/mongodb.json).

(censo-cnfe) o0x41e@incdev ~/Development/python/censo-cnfe (master)
 ~>./manage.py
Usage: manage.py [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  export-to-couchdb
  export-to-json
  export-to-mongodb

Exportar para arquivo

Por enquanto o único formato disponível é o formado JSON.

Exemplos

(censo-cnfe) o0x41e@incdev ~/Development/python/censo-cnfe (master)
~>./manage.py export-to-json ~/Documents/Cadastro_Nacional_de_Enderecos_Fins_Estatisticos/SP/ ~/Documents/censo-cnfe/SP/

Exportar para uma base de dados MongoDB

Exemplos

(censo-cnfe) o0x41e@incdev ~/Development/python/censo-cnfe (master)
~>./manage.py export-to-mongodb ~/Documents/Cadastro_Nacional_de_Enderecos_Fins_Estatisticos/SP/ settings/mongodb.json

Exportar para uma base de dados CouchDB

Exemplos

(censo-cnfe) o0x41e@incdev ~/Development/python/censo-cnfe (master)
~>./manage.py export-to-couchdb ~/Documents/Cadastro_Nacional_de_Enderecos_Fins_Estatisticos/SP/ settings/couchdb.json

Performance

(censo-cnfe) alexandre ~/Development/python/censo-cnfe (master)
 ~>time ./manage.py export-to-json examples/35188000500.zip /tmp/censo-cnfe/

 Parsing file: '35188000500'
Created file: '35188000500'.json

 Ok, Done!


real	2m4.164s
user	2m1.580s
sys	0m4.300s
alexandre /tmp
 ~>unzip 35188000500.zip
Archive:  35188000500.zip
  inflating: 35188000500.TXT
alexandre /tmp
 ~>wc -l 35188000500.TXT
301638 35188000500.TXT

Licença

Esse projeto utiliza a licença GPLv3, você pode lê-la no arquivo LICENSE.

Instalação do projeto

Considere utilizar a versão mais recente do Python3.

  • Copiar o repositório: git clone https://github.com/alexandre/censo-cnfe
  • Criar um vrtualenv: mkproject -p $(which python3) censo-cnfe
  • Instalar dependências: pip install -r requirements.txt