aphonsoar / Receita_Federal_do_Brasil_-_Dados_Publicos_CNPJ

Dados Públicos de CNPJ disponibilizados pela Receita Federal do Brasil
MIT License
281 stars 128 forks source link

LookupError: unknown encoding: ANSI #41

Closed GoldenSharkStudio closed 1 year ago

GoldenSharkStudio commented 1 year ago

Boa noite, comecei a testar hoje o código e ao descompactar aconteceu esse abaixo, também notei que as outras tabelas estão finalizando o trabalho abaixo de 100%, simples finalizou em 99.61%, socios 99,81%, estabelecimento 99.96%, empresa 99.97%.

Desde já agradeço a ajuda.

######################

Arquivos de cnae:

######################

Trabalhando no arquivo: F.K03200$Z.D30408.CNAECSV [...] Traceback (most recent call last): File "/home/king/Documents/rfb_dados/code/ETL_coletar_dados_e_gravar_BD.py", line 519, in cnae = pd.read_csv(filepath_or_buffer=extracted_file_path, sep=';', skiprows=0, header=None, dtype='object', encoding='ANSI') File "/home/king/.local/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 912, in read_csv return _read(filepath_or_buffer, kwds) File "/home/king/.local/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 577, in _read parser = TextFileReader(filepath_or_buffer, **kwds) File "/home/king/.local/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 1407, in init self._engine = self._make_engine(f, self.engine) File "/home/king/.local/lib/python3.10/site-packages/pandas/io/parsers/readers.py", line 1661, in _make_engine self.handles = get_handle( File "/home/king/.local/lib/python3.10/site-packages/pandas/io/common.py", line 711, in get_handle codecs.lookup(encoding) LookupError: unknown encoding: ANSI

italojohnny commented 1 year ago

Sobre as porcentagem inacabadas, acredito que seja apenas um detalhe na hora de exibir a porcentagem. Mas nao eh um problema.

Sobre o erro que voce apontou, executei o projeto inteiro hoje novamente e nao tive esse erro. Tambem executo ele com python 3.10, assim como mostra no seu traceback.

Poderia tentar substituir o encoding='ANSI' na linha 519 do arquivo code/ETL_coletar_dados_e_gravar_BD.py para encoding='latin-1' e nos dizer se funcionou?

Por curiosidade qual sistema/distribuicao/versao voce esta usando?

GoldenSharkStudio commented 1 year ago

Certo, farei isso. Utilizo o Ubuntu 22.04.2 LTS

GoldenSharkStudio commented 1 year ago

Desculpe a demora, acabei esquecendo. Sim, isso consertou o problema, eu troquei todos os ANSI por latin-1 e tudo funcionou corretamente.

italojohnny commented 1 year ago

Em uma Issue anterior, outro usuario teve o mesmo problema que voce mencionou. Na ocasial eu submeti um pullrequest onde corrigia pontualmente com latin-1 apenas alguns trecho do código que houve relato de problemas.

Eu acredito que deve ser alterado do código todo para latin-1 ou utf-8. Outro detalhe eh que acredito que esse problema tambem so aparece dependendo da configuracao idioma do sistema operacional.