sqlite3.OperationalError: no such table: main.empresas
bcbernardo opened this issue · 3 comments
bcbernardo commented
Tentando rodar em virtualenv com python-3.7 e pandas-0.24.2 instalados:
$ python3 cnpj.py "/path/to/CNPJ" sqlite "/path/to/data" --dir
Iniciando processamento em 2019-06-19 09:55:55.282829
Conversao concluida. Validando quantidades:
Total de registros de empresas: 0 ok
Total de registros de socios: 0 ok
Total de registros de CNAEs: 0 ok
Arquivo SQLITE gerado: /home/bcbernardo/Dados/RFB/CNPJ/20190515/CNPJ_full.db
OBS: Uso de índices altamente recomendado!
Criando índices...
Essa operaçao pode levar vários minutos.
Traceback (most recent call last):
File "cnpj.py", line 441, in <module>
main()
File "cnpj.py", line 436, in main
cnpj_index(output_path)
File "cnpj.py", line 374, in cnpj_index
cursorBD.execute(sql_stmt)
sqlite3.OperationalError: no such table: main.empresas
Pergunto: o esquema do banco de dados para onde serão carregados os registros já precisa estar definido antes de rodar o script?
fabioserpa commented
Os arquivos zip baixados da RF estão dentro da pasta "/path/to/CNPJ"?
Faltou colocar no script um tratamento melhor para o caso de não ter nenhum arquivo zip na pasta, mas enfim, é necessário que os arquivos zip estejam lá!
fabioserpa commented
E não é necessário ter nenhum arquivo de BD criado antes do script. O script cria o BD sqlite na hora.
bcbernardo commented
Estava tentando usar os arquivos descompactados. Rodei novamente no diretório com os arquivos .zip e funcionou como o esperado.