1 个不稳定版本

0.2.0 2022年1月30日

21#ron

MIT 许可证

8KB
106 行(不包括注释)

csvtoron

将 csv 文件自动转换为 ron 格式的项目。受 toml_to_ron 项目启发。

关于使用方法,请查看示例目录或直接在库中调用。

to_ron(filename)

返回值是

Result<(), String>

有关问题和问题,请访问 github

示例

use std::env;
use csvtoron::to_ron;

fn main() -> Result<(), String> {
    let args: Vec<String> = env::args().collect();
    if args.len() != 2 {
        return Err("Usage is : ./csvtoron <filename>".to_string());
    }
    let filename = args.get(1).unwrap();
    to_ron(filename)
}

输入

  • 需要一个标题行
  • 程序会确定分隔符,在以后的版本中将可以定义它

输出

单元格将被解释为 f64、u64 和字符串,并按相应方式放入输出文件。

输出格式如下

(
    content: [
        { 
            "head of column 1": "String value of line 1 column 1",
            "head of column 2": 0.426, //f64
            "head of column 3": "String Value",
            "head of column 4": 713, //u64
        }
        {
            content of second line
        }
        ..
    ]
)

版本 1

  • 目前字段名被序列化为字符串,而不是结构元素名,因此将 ron 元素/CSV 行自动消费到记录中会更困难
  • 创建文档
  • 使用固定字段大小的测试示例
  • 为固定单元格、逗号分隔和分号分隔的列表编写测试
  • 在转换一行之后,输出应该可以被反序列化为结构体,这意味着结构元素名称上没有引号

版本 2

  • 修改输出,以便单元格标题将不带连字符写入,以便可以导入记录作为结构体。
  • 允许输出 JSON,然后此项目需要迁移到另一个项目

依赖项

~2.1–3MB
~50K SLoC