我有一个包含40列的csv文件,我想使用csvhelper将其加载到datatable中。
安装了这个库之后,我做了以下操作:
而且你看,我有一个控制台语句,它完美地运行着。
然而,csvReader有一个构造函数,可以直接加载数据到自定义类中。
我尝试了这个:
但是我遇到了这个异常
因为CSVFileDefinition是一个空类。
我的问题是如何填充这个类。
这是这个库:
更新2
对我有效的解决方案是:
using (TextReader reader = File.OpenText(fileName)) {
var csv = new CsvReader(reader);
while (csv.Read()) {
var farmID = csv.GetField(0);
Console.WriteLine(farmID);
}
}
而且你看,我有一个控制台语句,它完美地运行着。
然而,csvReader有一个构造函数,可以直接加载数据到自定义类中。
我尝试了这个:
var record = csv.GetRecord<CSVFileDefinition>();
但是我遇到了这个异常
No properties are mapped for type 'MyProjectName.CSVFileDefinition'.
因为CSVFileDefinition是一个空类。
我的问题是如何填充这个类。
这是这个库:
http://joshclose.github.io/CsvHelper/
非常感谢更新2
对我有效的解决方案是:
sealed class CSVFileDefinitionMap : CsvClassMap<CSVFileDefinition>
{
public CSVFileDefinitionMap()
{
Map(m => m.FRM_ID).Name("FARM ID");
Map(m => m.FRM_OWNER).Name("FARM OWNER ");
}
}
class CSVFileDefinition
{
public string FRM_ID { get; set; }
public string FRM_OWNER { get; set; }
}
using (TextReader reader = File.OpenText(fileName)) {
var csv = new CsvReader(reader);
csv.Context.RegisterClassMap<CSVFileDefinitionMap>();
while (csv.Read()) {
var record = csv.GetRecord<CSVFileDefinition>();
}
}
using CvsHelper.Configuration;
。 - user8675309