#parser #csv #list #stream #zapret-info

zicsv

用于 Zapret-Info CSV 列表的解析库

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年4月26日

#24 in #lists


zicsv-tool 使用

MIT/Apache

38KB
791

crates.io

zicsv

zicsv - 用于 Zapret-Info CSV 列表的解析库。

在 docs.rs 上有文档

功能

  • 流解析器。
  • 对 Zapret-Info 导出中偶尔出现的格式不良数据的免疫性。

使用方法

将以下内容添加到您的 Cargo.toml

[dependencies]
zicsv = "0.1"

示例代码

extern crate zicsv;

fn main() {
    use zicsv::GenericReader;

    let mut reader = zicsv::Reader::from_file("dump.csv").expect("Unable to create zicsv::Reader");

    println!("Timestamp: {}", reader.get_timestamp());
    println!();

    let mut errors = false;
    for record in reader.iter() {
        match record {
            Ok(record) => println!("{}", record),

            Err(error) => {
                errors = true;
                eprintln!("ERROR: {}", error);
            },
        }
    }

    std::process::exit(if errors { 1 } else { 0 })
}

手动下载 dump.csv 或在运行此示例之前使用此仓库中的 download-dump 脚本。

运行示例

git clone --branch b0.1.0 https://github.com/im-0/zicsv
cd zicsv
./download-dump
cargo run --package zicsv --example parse

依赖项

~7MB
~126K SLoC