edo*_*oft 10 csv quotes import filehelpers
我正在使用优秀的FileHelpers库导入许多csv文件,但遇到了问题.我有一个带有这三个示例行的csv文件
id,text,number
120,"good line this one",789
121,""not good" line", 4456
122,,5446
Run Code Online (Sandbox Code Playgroud)
和这个(例子)类
[IgnoreFirst(1)]
[IgnoreEmptyLines()]
[DelimitedRecord(",")]
public sealed class JOURNAL
{
public Int32 ID;
[FieldQuoted('"', QuoteMode.AlwaysQuoted, MultilineMode.NotAllow)]
public string TEXT;
public Int32? NUMBER;
}
Run Code Online (Sandbox Code Playgroud)
问题QuoteMode.AlwaysQuoted是ID 122将失败并出现错误:
字段'TEXT'不是以第3行的QuotedChar开头.您可以使用FieldQuoted(QuoteMode.OptionalForRead)来允许可选的引用字段
切换到QuoteMode.OptionalForRead将失败,ID为121错误:
字段TEXT被引用但引用的字符:"不在分隔符之前(您可以使用[FieldTrim]来避免此错误)
那么如何处理一个没有引号的空字段的csv和文本中带引号的带引号的文本字段?
这看起来像我们不支持的情况,让我添加一个测试用例并使其在两种模式下都能工作,对于第一个我们需要验证语义是否正确的情况,即.如果QuoteMode.AlwaysQuoted可以允许,,或必须,"",但第二个选项必须工作:)干杯