Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Panda not installed. No support for DataFrames, HDF, or SQL. #4

Open
Patrick-Aires opened this issue Nov 24, 2020 · 4 comments
Open

Comments

@Patrick-Aires
Copy link

Patrick-Aires commented Nov 24, 2020

Versão do Windows: 20H2 Build:19042.630
Docker version 19.03.13, build 4484c46d9d
Usando WSL2 com Ubuntu 20.04 LTS
Git version 2.25.1

Passos para obter a informação:
Acessar: https://datasus.saude.gov.br/transferencia-de-arquivos/ e selecionar as opções abaixo
SIASUS - Sistema de Informações Ambulatoriais do SUS
Dados
AQ - APAC de Quimioterapia - A Partir de Jan/2008
2015
Março
TO
Arquivo baixado: AQTO1503.dbc

Reprodução do erro:
Instale seguindo o indicado em https://github.com/greatjapa/dbc2csv#como-instalar
Crie uma pasta source e mova o arquivo .dbc para dentro dela.
A pasta source não está dentro do projeto baixado pelo git, mas estão sob a mesma pasta
Usar o comando descrito em https://github.com/greatjapa/dbc2csv#como-converter
Terminal estará assim: "usuario"@"maquina":/mnt/c/Users/"usuario"/Documents/dbc/dbc2csv$ docker run -it -v /Users/"usuario"/Documents/dbc/source:/usr/src/app/data dbc2csv make

Saída:

./dbc2dbf.sh
Segmentation fault
data/*.dbc converted to dbf
mkdir -p data/csv
python3 dbf2csv.py
Pandas is not installed. No support for DataFrames, HDF, or SQL.
Traceback (most recent call last):
File "dbf2csv.py", line 6, in
dbf = Dbf5("data/" + file, codec='utf-8')
File "/usr/local/lib/python3.8/dist-packages/simpledbf/simpledbf.py", line 541, in init
self.numrec, self.lenheader = struct.unpack('<xxxxLH22x',
struct.error: unpack requires a buffer of 32 bytes
make: *** [Makefile:4: convert] Error 1

@Lucas-Palomo
Copy link
Contributor

Olá @Patrick-Aires , muito obrigado por reportar este erro.

O que aconteceu ? O erro ocorre no arquivo dbf2csv.py ... Bom dei uma pesquisa e curiosamente alguns arquivos .dbc são codificados originalmente em latin-1... Assim fazendo com que o programa blast não consiga descriptografar / descompactar estes arquivos.

Porque foi mudado para utf-8 ? Após testar vários arquivos do DATASUS vi que alguns deles retornavam caracteres estranhos o que foi resolvido trocando de latin-1 para utf-8...

Entretanto estou submetendo um merge de rollback para voltar a usar o latin-1, que consegue abranger outros arquivos do datasus, já que o processo de limpeza de caracteres estranhos é facilmente tratado após a conversão.

O warning de Pandas is not installed. No support for DataFrames, HDF, or SQL. Não interfere na conversão...

Muito grato @Patrick-Aires

@felipezeiser
Copy link

Olá pessoal, estou tendo o mesmo problema.

Como vocês solucionaram?

@PalomaRicato
Copy link

PalomaRicato commented Oct 25, 2021 via email

@felipezeiser
Copy link

Estou utilizando o Linux sem VM.

Segue a saída do terminal

sudo docker run -it -v /Downloads/dbc2csv/source:/usr/src/app/data dbc2csv make

./dbc2dbf.sh
Segmentation fault (core dumped)
data/*.dbc converted to dbf
mkdir -p data/csv
python3 dbf2csv.py
Pandas is not installed. No support for DataFrames, HDF, or SQL.
Traceback (most recent call last):
File "dbf2csv.py", line 6, in
dbf = Dbf5("data/" + file, codec='latin-1')
File "/usr/local/lib/python3.8/dist-packages/simpledbf/simpledbf.py", line 541, in init
self.numrec, self.lenheader = struct.unpack('<xxxxLH22x',
struct.error: unpack requires a buffer of 32 bytes
make: *** [Makefile:4: convert] Error 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants