【发布时间】:2015-03-26 23:11:14
【问题描述】:
我手头有一个应用程序,它使用 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;
}
【问题讨论】:
标签: c# csv filehelpers