首页 > 解决方案 > CsvHelper - GetRecords 没有返回任何内容

问题描述

GetRecords 不返回任何内容。你能帮我弄清楚我错过了什么吗?

var csvContent = parseApiResponse["staffTeamCsv"].ToString();
        TextReader sr = new StringReader(csvContent);

        var csvConfiguration = new CsvConfiguration(CultureInfo.InvariantCulture)
        {
            Delimiter = "|"
        };

    var csv = new CsvReader(sr, csvConfiguration);

    var records = csv.GetRecords<StaffTeam>().ToList();
        
        var converted = JsonConvert.SerializeObject(records);
        var convertedContent = JArray.Parse(converted);`

这是一个屏幕截图

标签: c#.net-corecsvhelper

解决方案


查看随附的屏幕截图(请在此处也以文本形式发布其中的内容),您的“csvContent”变量内容如下所示:

"Id|Name|1|nam|2|name"

这不是 CSV 文件的正确格式表示。

假设您的列标题是Idand Name,其余的是数据,它们应该用回车分隔。所以你的字符串应该是这样的:

var csvContent = "Id|Name\n1|nam\n2|name";

你的StaffTeam班级也应该是这样的:

public class StaffTeam
{
    public int Id { get; set; } // Could also be string
    public string Name { get; set; }
}

本质上,你的代码很好,你的数据不是。


推荐阅读