【问题标题】:CsvHelper: An element with the same key '' already exists in the ExpandoObjectCsvHelper:ExpandoObject 中已存在具有相同键 '' 的元素
【发布时间】:2019-01-10 15:13:25
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# csv csvhelper


    【解决方案1】:

    这仅仅是因为 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>();
    }
    

    【讨论】:

      猜你喜欢
      • 2018-04-08
      • 2017-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多