3个不稳定版本
0.2.1 | 2024年4月30日 |
---|---|
0.1.1 | 2024年3月18日 |
0.1.0 | 2024年3月18日 |
1631在 解析实现 中
每月41次下载
12KB
274 行
csvrow
=== 一个小型快速实用库,允许您将表示CSV文件行的字符串切片包装起来并遍历其字段。符合RFC 4180(CSV格式)和UTF8。
使用方法
直接在您的 Cargo.toml
文件中添加 csvrow
,或者 alternatively 在项目根目录的终端提示符中输入 cargo add csvrow
。
示例
从字符串切片创建CSV行并将其结果收集到Vec中
use CsvRow::*;
fn get_fields() {
let row = "rust,is,awesome";
let csv = CsvRow::new(row, ',', false);
let vec_t: Vec<_> = csv.collect();
}
默认情况下,将解析并取消转义用引号括起来的字段或包含转义引号(根据RFC 4180)。可以通过CsvRow::new的'literal'参数来覆盖此行为
use CsvRow::*;
fn get_fields() {
let row = r#""rust",is,"Awesome ""bring me the"" Sauce""#;
let csv = CsvRow::new(row, ',', false);
let vec_t: Vec<_> = csv.collect();
// Will yield:
// rust
// is
// Awesome "bring me the" Sauce
let row = r#""rust",is,"Awesome ""bring me the"" Sauce""#;
let csv = CsvRow::new(row, ',', true);
let vec_t: Vec<_> = csv.collect();
// Will yield:
// "rust"
// is
// "Awesome ""bring me the"" Sauce"
}
许可证:Unlicense/MIT