C# CsvReader错误:未找到索引0处与[';ID';]名称匹配的标头

C# CsvReader错误:未找到索引0处与[';ID';]名称匹配的标头,c#,csv,C#,Csv,我正在尝试使用CsvReader 6.1.1读取一个简单的CSV文件,但不断出现以下错误: 在索引0处找不到与['ID']名称匹配的标头 以下是CSV文件: "ID","FirstName","LastName","JobTitle","Department","Email" "1","Necole","Moore","Program Manager ","Housing & Supportive Services","MooreN@AFHouston.org" 下面是我使用的C代码:

我正在尝试使用CsvReader 6.1.1读取一个简单的CSV文件,但不断出现以下错误:

在索引0处找不到与['ID']名称匹配的标头

以下是CSV文件:

"ID","FirstName","LastName","JobTitle","Department","Email"
"1","Necole","Moore","Program Manager ","Housing & Supportive Services","MooreN@AFHouston.org"
下面是我使用的C代码:

Stream stream = await Request.Content.ReadAsStreamAsync();
        StreamReader sr = new StreamReader(stream);
        var csv = new CsvReader(sr);
        var records = csv.GetRecords<CRIContactModel>();
        foreach(var record in records) //***Fails here***
        {
            var contact = _criContactService.FindAsync(x => x.ID == record.ID);
            if (contact != null)
            {
                _criContactService.Update(record, record.ID);
            }
            else
            {
                _criContactService.Add(record);
            }
        }

我很感激你能告诉我这个问题是什么。

在我的例子中,我遇到了这个错误,因为我在我的csv文件中使用了与CsvHelper预期的不同的分隔符。更改配置后,bevore读取所有内容均按预期工作
csv.configuration.Delimiter=“;”

完整示例:

Stream stream = await Request.Content.ReadAsStreamAsync();
StreamReader sr = new StreamReader(stream);
var csv = new CsvReader(sr);
csv.Configuration.Delimiter = ";";
var records = csv.GetRecords<CRIContactModel>();
foreach(var record in records) {
    var contact = _criContactService.FindAsync(x => x.ID == record.ID);
    if (contact != null) {
        _criContactService.Update(record, record.ID);
    }
    else {
        _criContactService.Add(record);
    }
}
Stream=wait Request.Content.ReadAsStreamAsync();
StreamReader sr=新的StreamReader(流);
var csv=新的CsvReader(sr);
csv.Configuration.Delimiter=“;”;
var records=csv.GetRecords();
foreach(记录中的var记录){
var contact=\u cri contactservice.FindAsync(x=>x.ID==record.ID);
如果(联系人!=null){
_criContactService.Update(记录,记录.ID);
}
否则{
_cri contactservice.Add(记录);
}
}

Show
CRIContactModel
classdefinition@Nkosi我刚刚在上面添加了它。
ID
在类中是一个
int
,但在数据中是一个
string
。我删除了CSV文件中1的双引号,但仍然得到相同的错误。不确定您使用的是哪个框架。调查这件事
Stream stream = await Request.Content.ReadAsStreamAsync();
StreamReader sr = new StreamReader(stream);
var csv = new CsvReader(sr);
csv.Configuration.Delimiter = ";";
var records = csv.GetRecords<CRIContactModel>();
foreach(var record in records) {
    var contact = _criContactService.FindAsync(x => x.ID == record.ID);
    if (contact != null) {
        _criContactService.Update(record, record.ID);
    }
    else {
        _criContactService.Add(record);
    }
}