【发布时间】:2020-07-10 13:08:50
【问题描述】:
我正在使用 CSVHelper 读取 csv 文件的类型:
1.
6000000,1,2020
6000001,1,2020
6000002,1,2020
6000003,1,2020
6000004,1,2020
6000000
6000001
6000002
这是我的模型:
public class Body
{
public long Id { get; set; }
public int Semester { get; set; }
public int Year { get; set; }
}
此模型适用于第一种类型的文件。但在第二次的情况下,它会引发异常。我认为这是因为 CSV 中没有学期和年份的字段。有没有办法在读取第二个文件中不存在的时候忽略这两个附加字段?我不想创建仅具有 Id 属性的其他模型。
我的csv读取方法:
public List<T> ReadFile<T>(StreamReader stream)
{
using (var csv = new CsvReader(stream, CultureInfo.InvariantCulture))
{
csv.Configuration.HasHeaderRecord = false;
var records = csv.GetRecords<T>().ToList();
return records;
}
}
因此,如果我要读取第二个文件,那么将返回带有 Body 对象的 List,但 Semester 和 Year 属性将为空或 0
【问题讨论】:
-
空值为
,,,,分隔符应始终存在。由于您使用的是库,因此它可以正常工作。
标签: c# .net csv parsing csvhelper