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