Pure-Python reader for DATASUS .dbc files (blast-compressed dBASE III)
Project description
readdbc
Leitor puro-Python para arquivos .dbc do DATASUS — formato dBASE III com compressão PKWARE blast. Sem dependências C, sem compilador necessário.
Instalação
pip install readdbc
Requisitos: Python ≥ 3.10, pandas ≥ 2.0
Uso rápido
import readdbc
# Ler arquivo .dbc diretamente como DataFrame pandas
df = readdbc.read_dbc("DOSP2023.dbc")
# Ler arquivo .dbf comum
df = readdbc.read_dbf("dados.dbf")
# Descomprimir bytes brutos de um .dbc para .dbf
with open("DOSP2023.dbc", "rb") as f:
compressed = f.read()
raw_dbf_bytes = readdbc.blast_decompress(compressed)
O formato DBC
Os arquivos .dbc são distribuídos pelo DATASUS para transferência eficiente dos microdados do SUS (Sistema Único de Saúde). Internamente, são arquivos dBASE III (.dbf) cujo bloco de registros foi comprimido com o algoritmo PKWARE DCL Implode (também chamado de blast).
Layout interno:
[0 .. H) Cabeçalho DBF não comprimido (H = uint16 LE nos bytes 8-9)
[H .. H+4) 4 bytes de CRC / padding (ignorados)
[H+4 .. EOF) Dados comprimidos com PKWare blast
A descompressão produz: cabeçalho_dbf + registros_descomprimidos = DBF completo.
API de referência
| Função / Classe | Descrição |
|---|---|
read_dbc(path) |
Lê um .dbc e retorna pd.DataFrame |
read_dbf(path) |
Lê um .dbf e retorna pd.DataFrame |
blast_decompress(b) |
Descomprime bytes brutos do formato blast |
dbc_to_dbf(b) |
Converte bytes .dbc para bytes .dbf |
BlastError |
Exceção para erros de descompressão |
DBFError |
Exceção para erros de leitura DBF |
DBCError |
Exceção para erros de leitura DBC |
Projeto ClimaSUS
Este pacote faz parte do ecossistema ClimaSUS — plataforma de análise de dados climáticos e de saúde pública do SUS.
- Repositório principal: https://github.com/climasus/climasus_readdbc_py
- Organização: https://github.com/climasus
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file climasus_readdbc_py-0.1.0.tar.gz.
File metadata
- Download URL: climasus_readdbc_py-0.1.0.tar.gz
- Upload date:
- Size: 12.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c348efd6030f703806ab18b75907a4f2cc5cac5b1e03de32384f6c226c2475b
|
|
| MD5 |
b63aced5a328cededddb3fa229250df2
|
|
| BLAKE2b-256 |
28eaa211c47148a5359c2c04416125b0458b79b61070f21b4312660d3c9d8722
|
Provenance
The following attestation bundles were made for climasus_readdbc_py-0.1.0.tar.gz:
Publisher:
publish.yml on climasus/climasus_readdbc_py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
climasus_readdbc_py-0.1.0.tar.gz -
Subject digest:
8c348efd6030f703806ab18b75907a4f2cc5cac5b1e03de32384f6c226c2475b - Sigstore transparency entry: 1339705868
- Sigstore integration time:
-
Permalink:
climasus/climasus_readdbc_py@91d1b107682d73afe6457e599d2619dd4f901525 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/climasus
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@91d1b107682d73afe6457e599d2619dd4f901525 -
Trigger Event:
push
-
Statement type:
File details
Details for the file climasus_readdbc_py-0.1.0-py3-none-any.whl.
File metadata
- Download URL: climasus_readdbc_py-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e4f74de3573705113e2a8e6a71271e45b5b77d63c67bbeb42f090e21444843b
|
|
| MD5 |
ed70af166c925d61d9a3cac60ad9652b
|
|
| BLAKE2b-256 |
3f7208b5c37806ad0c7d5cebdf223eb6e2e01b7be58ebf9e71ccc29cb113fa8d
|
Provenance
The following attestation bundles were made for climasus_readdbc_py-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on climasus/climasus_readdbc_py
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
climasus_readdbc_py-0.1.0-py3-none-any.whl -
Subject digest:
6e4f74de3573705113e2a8e6a71271e45b5b77d63c67bbeb42f090e21444843b - Sigstore transparency entry: 1339705871
- Sigstore integration time:
-
Permalink:
climasus/climasus_readdbc_py@91d1b107682d73afe6457e599d2619dd4f901525 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/climasus
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@91d1b107682d73afe6457e599d2619dd4f901525 -
Trigger Event:
push
-
Statement type: