解析csv文件時,如何定義特定的字段是必需的。基本上,我想確保一個給定的字段永遠不會是空的,如果是的話我想拋出一個異常。這裏是映射類:CSVHelper必填字段
public sealed class DataMapper : CsvClassMap<DataType>
{
public DataMapper()
{
Map(m => m.Field1).Name("FirstField");
Map(m => m.Field2).Name("SecondField");
Map(m => m.Field3).Name("ThirdField"); // this field should be mandatory
}
}
與用法:
List<DataType> data;
using (var sr = new StreamReader(localFilePath))
{
var reader = new CsvReader(sr);
reader.Configuration.RegisterClassMap<DataMapper>();
data = reader.GetRecords<DataType>().ToList();
}
目前,我只檢查數據列表中的結果如下:
var numberOfInvalidRecords = data.Count(data => string.IsNullOrEmpty(data.Field3));
if (nullAccountHolderRecords > 0)
{
//handle
}
我無法找到CSVHelper文檔中的內置功能。我錯過了什麼嗎?
'Get'方法已被刪除,並由庫的新版本中的'GetField'方法取代 – 2017-01-23 15:29:52
@HakamFostok謝謝,你應該在你在那裏時修復它:) – DavidG 2017-01-23 15:31:19