Concatenação dos arquivos de Notas Fiscais do Portal da Transparência para consultas rápidas em SQL, usando DuckDB
Clonar este repositório na sua máquina, executando:
git clone https://github.com/heitorgama/nfe-cguCriar e ativar ambiente virtual, executando, a partir da raiz do repositório clonado:
python3 -m venv env
source myenv/bin/activateInstalar o gerenciador de pacotes pip caso não esteja instalado, executando:
python3 -m venv my_envInstalar as bibliotecas necessárias, executando:
pip install -r requirements.txtOs arquivos de notas fiscais eletrônicas são disponibilizados mensalmente em: https://portaldatransparencia.gov.br/download-de-dados/notas-fiscais
Baixar os arquivos .zip referentes aos meses de interesse no diretório dados/nfe.
Executar o script concatenar_nfs.py para concatenar os arquivos .zip baixados, executando:
python concatenar_nfs.pyO script irá extrair os arquivos .zip e concatenar os dados em um arquivo Parquet chamado nfe.parquet no diretório extracoes.
Os itens das notas fiscais serão extraídos para um arquivo separado chamado itens.parquet.
Os eventos de notas fiscais serão extraídos para um arquivo chamado eventos.parquet.
A seguir, é preciso excluir notas duplicadas, executando o script remover_duplicatas_nfe.py:
python remover_duplicatas_nfe.pyA base de notas fiscais deduplicada será salva como nf_limpas.parquet.
A base de itens deduplicada será salva como itens_limpos.parquet.
O arquivo consultar_aco.py contém consultas SQL para analisar os dados extraídos, a fim de obter o volume total comprado pelo Executivo Federal. Você pode executar essas consultas usando o DuckDB, que é uma biblioteca de banco de dados SQL leve e rápida.