dbc2dbf.Rd
This function allows you decompress a DBC file into its DBF counterpart. Please note that this is the file format used by the Brazilian Ministry of Health (DATASUS), and it is not related to the FoxPro or CANdb DBC file formats.
dbc2dbf(input.file, output.file)
The internal C code for dbc2dbf
is based on blast
decompressor and blast-dbf
(see References).
The name of the DBC file (including extension)
The output file name (including extension)
Return TRUE if succeded, FALSE otherwise.
DBC is the extension for compressed DBF files (from the 'XBASE' family of databases). This is a proprietary file format used by the brazilian government to make available public healthcare datasets (by it's agency called DATASUS).
It uses internally the PKWare's Data Compression Library (DCL) "implode" compression algorithm. When decompressed, it becomes a regular DBF file.
The PKWare ZIP file format documentation (contains the "implode" algorithm specification) available at https://support.pkware.com/display/PKZIP/APPNOTE, current version https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT.
blast
source code in C: https://github.com/madler/zlib/tree/master/contrib/blast
blast-dbf
, DBC to DBF command-line decompression tool: https://github.com/eaglebh/blast-dbf
read.dbc
if (FALSE) {
# Input file name
in.f <- system.file("files/sids.dbc", package = "read.dbc")
# Output file name
out.f <- tempfile(fileext = ".dbc")
# The call return logi = TRUE on success
if (dbc2dbf(input.file = in.f, output.file = out.f)) {
print("File decompressed!")
file.remove(out.f)
}
}