3个不稳定版本

0.2.0 2022年8月17日
0.1.1 2022年8月17日
0.1.0 2021年11月26日

#2967解析器实现

Download history 1/week @ 2024-03-13 2/week @ 2024-03-20 25/week @ 2024-03-27 29/week @ 2024-04-03 6/week @ 2024-05-15 2/week @ 2024-05-22

54 每月下载量
用于 csv-partial-cache

MIT 许可证

9KB
107

License Crates.io Documentation

快速解析单行CSV。

用法

#[derive(Debug, PartialEq, serde::Deserialize)]
struct Foo(String, i32);

assert_eq!(csv_line::from_str::<Foo>("foo,42").unwrap(), Foo("foo".into(), 42));
assert_eq!(csv_line::from_str_sep::<Foo>("foo 42", b' ').unwrap(), Foo("foo".into(), 42));

速度

性能与 serde_json 相当(越小越好)

test csv_builder ... bench:      16,003 ns/iter (+/- 914)
test csv_core    ... bench:      15,695 ns/iter (+/- 1,155)
test csv_line    ... bench:         240 ns/iter (+/- 14)
test serde_json  ... bench:         124 ns/iter (+/- 5)

基准代码在此:这里

安全性

此crate使用 #![forbid(unsafe_code)] 确保所有内容都在100%安全的Rust中实现。

贡献

我们感谢所有类型的贡献,谢谢!

关于README的说明

大多数README是从crate文档自动复制过来的,由 cargo-readme-sync 实现。这样,README总是与文档同步,并且示例经过测试。

因此,如果您想在 <!-- cargo-sync-readme start --><!-- cargo-sync-readme end --> 标记之间更改README的一部分,请不要直接编辑 README.md,而是更改 src/lib.rs 顶部的文档,然后使用以下命令同步README:

cargo sync-readme

(确保已安装cargo命令)

cargo install cargo-sync-readme

如果您已安装 rusty-hook,则更改将在提交时自动应用。

许可证

本项目受 MIT许可证 许可。

依赖项

~2–2.9MB
~42K SLoC