rictom / cnpj-sqlite

Script em python para carregar os arquivos de cnpj com dados públicos da Receita Federal para o formato sqlite
MIT License
156 stars 48 forks source link

Filtrando cooperativas e exportando o .csv #9

Closed rtheodoro closed 2 years ago

rtheodoro commented 2 years ago

Boa noite!

Primeiro gostaria de agradecer a esse pacote! Facilitou muito a vida!

Mas ainda estou com uma dificuldade. É a primeira vez que trabalho com os dados do CNPJ neste formato e utilizando este programa. Não consegui importar para o postgreSQL.

Destes dados, preciso separar aquelas CNPJ que são de cooperativas, ou seja com natureza_juridica = 2143 ou natureza_juridica = 2330.

Isto já irá reduzir bastente o tamanho dos arquivos e poderei trabalhar mais fácil com ele em meu computador, usando o R.

Entretanto, não estou conseguindo fazer o filtro e nem encontrando como salvar as tabelas do possível resultado em outro formato.

select t.*, te.*, ts.*
from empresas te
left join estabelecimento t on t.cnpj_basico=te.cnpj_basico
left join socios ts on ts.cnpj_basico=te.cnpj_basico
where te.natureza_juridica like '2143' 
and te.natureza_juridica like '2330'
rictom commented 2 years ago

Oi @rtheodoro. A consulta pode ser assim:

SELECT t.*, te.*, ts.* from empresas te left join estabelecimento t on t.cnpj_basico=te.cnpj_basico left join socios ts on ts.cnpj=t.cnpj where te.natureza_juridica = "2143" or te.natureza_juridica = "2330"

Alterei o campo para o join em socios, porque a coluna cnpj_basico nessa tabela não está indexada, mas cnpj sim, assim a consulta fica bem mais rápida. Como se está usando duas condições diferentes, use o operador OR. Para um valor exato na coluna natureza_juridica, dá para usar o operador igual mesmo. Se quiser usar o like, seria algo como LIKE "21%" para buscar por "2143" ou "2144"

Se vc estiver usando o DBBROWSER FOR SQLITE, vc pode criar a tabela com o resultado no banco de dados fazendo CREATE TABLE tcooperativas AS SELECT ...

e usar a opção Arquivo>Exportar>Tabela para arquivo CSV... para salvar em CSV. Daí vc carrega o csv no R.

rtheodoro commented 2 years ago

Ah, show demais!

Muito brigado! Perfeito!