【发布时间】:2011-07-01 22:08:53
【问题描述】:
我正在使用出色的 FileHelpers 库来导入许多 csv 文件,但遇到了问题。我有一个包含这三个示例行的 csv 文件
id,text,number
120,"good line this one",789
121,""not good" line", 4456
122,,5446
还有这个(示例)类
[IgnoreFirst(1)]
[IgnoreEmptyLines()]
[DelimitedRecord(",")]
public sealed class JOURNAL
{
public Int32 ID;
[FieldQuoted('"', QuoteMode.AlwaysQuoted, MultilineMode.NotAllow)]
public string TEXT;
public Int32? NUMBER;
}
QuoteMode.AlwaysQuoted 的问题是 ID 122 将失败并出现错误:
“TEXT”字段不以 QuotedChar 在第 3 行。您可以使用 FieldQuoted(QuoteMode.OptionalForRead) 允许可选的引用字段
切换到QuoteMode.OptionalForRead 将失败,并出现 id 121 的错误:
字段 TEXT 被引用,但 引用的字符:“ not 就在 分隔符(您可以使用 [FieldTrim] 避免这个错误)
那么我该如何处理包含没有引号的空字段和在文本中带有额外引号的带引号的文本字段的 csv?
【问题讨论】:
标签: csv import quotes filehelpers