#serde #dbf #parser #dbase

dbf_dextractor

从 dbf 文件中提取并使用 serde 反序列化

3 个版本

0.1.2 2020年5月4日
0.1.1 2020年5月3日
0.1.0 2020年5月2日

#2003 in 编码

MIT/Apache

51KB
1.5K SLoC

dbf-dextractor

从 dbf 文件中提取数据,并使用 serde 进行反序列化。

用法

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);

依赖项

~0.5–1.1MB
~25K SLoC