5 个版本 (3 个重大更改)
0.4.0 | 2023年5月25日 |
---|---|
0.3.1 | 2023年2月17日 |
0.3.0 | 2023年1月18日 |
0.2.0 | 2023年1月11日 |
0.1.0 | 2023年1月11日 |
#2409 in 解析器实现
52 个月下载量
41KB
1K SLoC
CSV Pipeline
受 csvsc 启发的 CSV 处理库
示例
use csv_pipeline::{Pipeline, Transformer};
let source = "\
Person,Score\n\
A,1\n\
A,8\n\
B,3\n\
B,4\n";
let reader = csv::Reader::from_reader(source.as_bytes());
let csv = Pipeline::from_reader(reader)
.unwrap()
.map(|_headers, row| Ok(row))
// Transform into a new csv
.transform_into(|| {
vec![
// Keep every Person
Transformer::new("Person").keep_unique(),
// Sum the scores into a "Total score" column
Transformer::new("Total score").from_col("Score").sum(0),
]
})
.collect_into_string()
.unwrap();
assert_eq!(
csv,
"Person,Total score\n\
A,9\n\
B,7\n"
);
开发说明
开始使用
安装 Rust.
运行测试
cargo test
发布新版本
- 更新
CHANGELOG.md
- 在
Cargo.toml
中提升版本号 - 运行
cargo test
- 运行
cargo publish
- 创建格式为
v#.#.#
的 git 标签 - 创建带有发行说明的 GitHub 发行版
依赖关系
~1.2–1.7MB
~21K SLoC