使用 ChoETL 导入 csv 时如何验证布尔值?

问题描述 投票:0回答:1

我为用户构建了一个工具来导入 CSV 并为导入创建自定义列映射。它使用 ChoETL csv 工具来解析 CSV。我添加了一些布尔列,但不确定如何验证数据以确保提供的值符合 ChoETL 默认设置

ChoBooleanFormatSpec.ZeroOrOne
。 理想情况下,如果类型不正确,我只想抛出一个异常(作为一条好消息返回)。但是当我尝试输入“True”而不是 1 时,ChoETL 将其解析为 false。我该怎么做? 根据文档,您只能选择一种支持的格式。

Cinchoo ETL 隐式处理 CSV 文件中布尔 CSV 列值的解析/写入。如果您想精细控制这些值的解析,可以通过 ChoTypeConverterFormatSpec.BooleanFormat 全局指定它们。默认值为 ChoBooleanFormatSpec.ZeroOrOne。

https://www.codeproject.com/Articles/1155891/Cinchoo-ETL-CSV-Writer#20.4%C2%A0BooleanSupport41

c# csv choetl
1个回答
0
投票

这是布尔转换器的问题,默认为

false
表示不正确的值。应用修复。发布 nuget 包 v1.2.1.67

    string csv = @"Id, Name, IsActive
1, Tom, 0
2, Mark, 1
3, Shelly, true";

    using (var r = ChoCSVReader<EmployeeC>.LoadText(csv)
           .WithFirstLineHeader()
           .TypeConverterFormatSpec(ts => ts.BooleanFormat = ChoBooleanFormatSpec.ZeroOrOne)
          )
    {
        r.Print();
    }

示例小提琴:https://dotnetfiddle.net/BR4a55

© www.soinside.com 2019 - 2024. All rights reserved.