c# - CSV 文件中不存在字段 'workOrder'

标签 c# csv csvhelper

我有一个包含多行的 CSV 文件,每行在标题为“W.O.No.”的列下都有一个工单编号。

这是我正在做的: 我创建了一个名为 Job 的类,它只有一个字段。

class Job
{
    public int workOrder { get; set; }
}

然后我创建了一个JobMap类

class JobMap : CsvClassMap<Job>
{
    public override void CreateMap()
    {
        Map(m => m.workOrder).Name("W.O.No.");
    }
}

最后,这是我的主要代码

StreamReader file = new StreamReader(filePath);
var csv = new CsvReader(file);
var record = csv.GetRecords<Job>().ToList();

无论出于何种原因,我都会收到一条错误消息

Fields 'workOrder' do not exist in the CSV file.

我在这里做错了什么?

最佳答案

您的代码中似乎缺少 map 初始化。尝试添加 csv.Configuration.RegisterClassMap<JobMap>();

这段代码应该可以工作:

StreamReader file = new StreamReader(filePath);
var csv = new CsvReader(file);
csv.Configuration.RegisterClassMap<JobMap>();
var record = csv.GetRecords<Job>().ToList();

关于c# - CSV 文件中不存在字段 'workOrder',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21670409/

相关文章:

c# - Newtonsoft.Json.Linq.JArray' 键入 'System.Collections.Generic.IEnumerable

java - 从Java中的List在neo4j数据库中创建大量节点

c# - 如何处理使用 CsvHelper 解析时的空列?

c# - 选择模型属性包含所有键值对列表的位置

c# - 为单元测试哈希表数据类型生成随机值

c# - 需要身份验证的 Silverlight 和 ATOM 源

Ruby 删除三重引号

python - python 中的数据类型(寻找类似于 R 中的 str 的东西)

CSVHelper 跳过标题前的记录