#serde #dbf #parser #dbase

dbf_dextractor

Extract and deserialize dbf files

3 releases

0.1.2 May 4, 2020
0.1.1 May 3, 2020
0.1.0 May 2, 2020

#2003 in Encoding

MIT/Apache

51KB
1.5K SLoC

dbf-dextractor

Extract data from dbf files and deserialize with serde.

Usage

use std::collections::BTreeMap;

use serde::Deserialize;

use dbf_dextractor::{Value, Date, Timestamp};

const DBF_FILE: &str = "/path/to/data.dbf";
const DBT_FILE: &str = "/path/to/data.dbt";

#[derive(Deserialize, Debug)]
struct Record {
    boolean: bool,
    date: Date,
    timestamp: Timestamp,
    decimal: f64,
    id: u32,
    name: String,
    note: Option<String>,
}

for record in dbf_dextractor::read(DBF_FILE, Some(DBT_FILE))? {
    let record: Record = record?;
    println!("{:#?}", record);
}

let records: Vec<BTreeMap<String, Value>>
    = dbf_dextractor::read_values(DBF_FILE, Some(DBT_FILE))?
        .collect::<Result<_, _>>()?;

println!("{:#?}", records);

Dependencies

~0.5–1.1MB
~25K SLoC