DbcToDbf 1.0.5
dotnet add package DbcToDbf --version 1.0.5
NuGet\Install-Package DbcToDbf -Version 1.0.5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DbcToDbf" Version="1.0.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DbcToDbf" Version="1.0.5" />
<PackageReference Include="DbcToDbf" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DbcToDbf --version 1.0.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: DbcToDbf, 1.0.5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DbcToDbf@1.0.5
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DbcToDbf&version=1.0.5
#tool nuget:?package=DbcToDbf&version=1.0.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
DbcToDbf (.NET)
A professional, 100% C# library to download, decompress, and read DATASUS .dbc files.
Features
- 100% Managed Code: No native dependencies.
- DBC Decompressor: Efficient implementation of the BLAST (PKWARE DCL) algorithm.
- DBF Reader (ADO.NET): Full
DbDataReaderimplementation for seamless integration with Dapper, SqlBulkCopy, and DataTables. - Datasus FTP Client: Smart navigation and filtering for the official DATASUS FTP server.
- High Compatibility: Targets .NET Standard 2.0.
Installation
dotnet add package DbcToDbf
Quick Start
1. Download and Read directly from DATASUS
The "Golden Path" for health data processing:
using DbcToDbf;
using (var client = new DatasusClient())
{
// Search for SIHSUS files from São Paulo (SP) in 2023
var files = client.GetFiles(DatasusSystems.Sihsus, uf: "SP", year: 2023);
foreach (var file in files)
{
// OpenReader handles: Download -> Decompress -> DBF Open
using (var reader = client.OpenReader(file))
{
while (reader.Read())
{
// Access data by name or index
var value = reader["VAL_TOT"];
var date = reader.GetDateTime(reader.GetOrdinal("NASC"));
}
}
}
}
2. Manual Decompression
If you already have a .dbc file locally:
var decompressor = new DbcDecompressor();
decompressor.Decompress("input.dbc", "output.dbf");
3. Standalone DBF Reading
Read any .dbf file (dBase III+) with strong typing:
using (var reader = new DbfDataReader("output.dbf"))
{
while (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("NOME"));
decimal amount = reader.GetDecimal("VALOR");
}
}
Advanced Filtering
The DatasusClient.GetFiles supports Regex and Wildcards:
// Get all RD files from SP or MG
var files = client.GetFiles(DatasusSystems.Sihsus, pattern: "RD(SP|MG).*");
Credits
Based on the BLAST algorithm by Mark Adler and inspired by the Python/C implementations for DATASUS.
License
MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- FluentFTP (>= 50.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.