Dr4coder / cnpj-sqlite

Script em python para carregar os arquivos de cnpj com dados públicos da Receita Federal para o formato sqlite

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CNPJ-SQLITE

Script em python para converter os arquivos de dados públicos de CNPJs para o formato SQLITE. O código é compatível com o layout das tabelas disponibilizadas pela Receita Federal a partir de 2021.

Dados públicos de CNPJs no site da Receita:

Os arquivos csv zipados com os dados de CNPJs estão disponíveis em https://dados.gov.br/dados/conjuntos-dados/cadastro-nacional-da-pessoa-juridica---cnpj ou https://dadosabertos.rfb.gov.br/CNPJ/ (http://200.152.38.155/CNPJ/).

Pré-requisitos:

Python 3.8 ou posterior;
Bibliotecas pandas, dask e sqlalchemy.
55GB de disco livre, 30GB para a base em sqlite e 25GB para os arquivos do site da Receita zip ou descompactados. Os 25GB poderão ser liberados depois de rodar o script.

Utilizando o script:

Este projeto não baixa os arquivos do site da Receita. Obtenha uma relação dos arquivos disponíveis pelo comando no Anaconda prompt (disponível no menu do Windows):
python dados_cnpj_lista_url.py

Baixe todos os arquivos zipados do site da Receita e salve na pasta "dados-publicos-zip".
O download no site da Receita é lento, pode demorar várias horas (a última vez levou 8 horas)
Sugiro utilizar um gerenciador de downloads, como o https://portableapps.com/apps/internet/free-download-manager-portable.

Crie uma pasta com o nome "dados-publicos".

Para iniciar a conversão dos arquivos para o formato sqlite, digite em um console do Anaconda prompt:
python dados_cnpj_para_sqlite.py

O processamento leva cerca de 2hs em um notebook i7 de oitava geração.

Ao final, será gerado um arquivo cnpj.db, no formato sqlite, com cerca de 30GB, que poderá ser aberto no DB Browser for SQLITE (https://sqlitebrowser.org/).

O arquivo cnpj.db poderá ser usado no meu projeto rede-cnpj (https://github.com/rictom/rede-cnpj), que permite visualização gráfica de relacionamentos entre empresas e sócios. Este projeto está rodando online em https://www.redecnpj.com.br.
O projeto https://github.com/rictom/cnpj_consulta também utiliza o arquivo cnpj.db para visualizar os dados de cnpj em formato de tabela.

Arquivo sqlite com a base CNPJ:

O arquivo final poderá ser aberto no DBBrowser for SQLITE.

image
Lista das tabelas do arquivo cnpj.db no DBBrowser.

Conversão para mysql:

O script em https://github.com/rictom/cnpj-mysql faz o carregamento dos dados para o banco de dados em MYSQL.

Histórico de versões

versão 0.4 (setembro/2022)

  • inclusão de índice na coluna "nome fantasia" da tabela estabelecimento.

versão 0.3 (maio/2022)

  • inclusão de índice na coluna representante_legal da tabela sócios.

versão 0.2 (janeiro/2022)

  • removido código não utilizado

versão 0.1 (julho/2021)

  • primeira versão

About

Script em python para carregar os arquivos de cnpj com dados públicos da Receita Federal para o formato sqlite

License:MIT License


Languages

Language:Python 100.0%