我手上有一个应用程序,它使用 FileHelpers 库来处理 csv 文件。
过去,输入的 csv 文件总是具有相同的结构,一个记录有 5 个逗号分隔的字段,然后是一个新行来分隔记录。
然而,最近,我开始收到每行超过 5 条记录的 csv 文件,而且,显然,当前用于 csv 解析的类不适用于这些行。问题是,我仍然只需要前五个字段,它们仍然以相同的顺序提供。
有没有办法用 FileHelpers 读取前五个字段,并在换行之前忽略任何其他数据?
当前用于解析的类:
[IgnoreEmptyLines()]
[DelimitedRecord(";")]
public sealed class SemicolonsRow
{
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String LastName;
[FieldOptional()]
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String Name;
[FieldOptional()]
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String MidName;
[FieldOptional()]
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String BirthDate;
[FieldOptional()]
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String BirthPlace;
}