我尝试将CSV文件读入我的自定义对象,但每次收到错误消息时都说这些字段不存在。但是,它们确实存在。
这是我的代码:
public class Order
{
public string isin { get; set; }
public double price { get; set; }
}
class OrderMap : CsvClassMap<Order>
{
[System.Obsolete("use CreateMap", true)]
public override void CreateMap()
{
Map(m => m.isin).Index(0);
Map(m => m.price).Index(1);
}
}
static void Main(string[] args)
{
StreamReader file = new StreamReader(@"data\1\my_file.csv");
var csv = new CsvReader(file);
csv.Configuration.RegisterClassMap<OrderMap>();
var orderFlow = csv.GetRecords<Order>().ToList();
当我尝试通过getField<string>(Index)
访问某个字段时,我对0以上的所有索引都会收到相同的错误。getField<string>(0)
返回以;
分隔的整行。怎么了?
答案 0 :(得分:2)
问题是您没有将分隔符指定为;
。默认分隔符为,
。您需要更新配置。您可以在库site找到更多信息。
csv.Configuration.Delimiter = ";";