CsvHelper:ExpandoObject 中已存在具有相同键 '' 的元素

Ale*_*ith 4 c# csv csvhelper

使用类似的代码,我收到异常:

ExpandoObject 中已存在具有相同键 '' 的元素

using (var reader = new StreamReader("SampleData.csv"))
using (var csv = new CsvReader(reader))
{
    var records = csv.GetRecords<dynamic>();
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*ith 5

这只是因为 CsvHelper 默认使用列标题作为动态对象属性的名称:

确保csvReaderConfig.HasHeaderRecord = false;已设置或使用其他技术(例如映射到类)非常重要。

var csvReaderConfig = new Configuration();

csvReaderConfig.HasHeaderRecord = false;

using (var reader = new StreamReader("SampleData.csv"))
using (var csv = new CsvReader(reader, csvReaderConfig))
{
    var records = csv.GetRecords<dynamic>();
}
Run Code Online (Sandbox Code Playgroud)