快来帮忙请帮我.
csv:名称,LastName
PersonMap:
public override void CreateMap()
{
Map(x => x.Name).Name("Name");
Map(x => x.LasName).Name("LastName");
} 个人类别:
public string Name { get; set; }
public string LastName { get; set; }Main:
public void writePerson()
{
IEnumerable<Person> records;
using (var r = new CsvReader(new StreamReader("person.csv")))
{
r.Configuration.RegisterClassMap<PersonMap>();
records = r.GetRecords<Person>().ToList();
}
using (var w = new CsvWriter(new StreamWriter("person.csv")))
{
w.Configuration.RegisterClassMap<PersonMap>();
w.WriteRecord(records); //rewrite csv list
w.WriteField("John"));
w.WriteField("Doe");
w.NextRecord();
}
}错误行:记录= reader.GetRecords().ToList();
错误:没有找到头记录。
发布于 2014-03-30 19:14:10
好的,我用以下方法修正了它:
写入:
string persondata = "John, Doe";
using (FileStream fs = new FileStream("person.csv", FileMode.Append, FileAccess.Write))
using (StreamWriter sw = new StreamWriter(fs))
{ sw.WriteLine(persondata); sw.Dispose(); }阅读:
IEnumerable<Person> records;
using (var reader = new CsvReader(new StreamReader(@"person.csv")))
{
reader.Configuration.RegisterClassMap<PersonMap>();
records = reader.GetRecords<Person>();
}发布于 2014-03-30 02:39:13
看起来您的person.csv没有第一行作为标题行,如下所示:
Name,LastName请检查CSV文件。
发布于 2014-05-09 11:51:31
添加以下配置行
w.configuration.HasHeaderRecord = false;
https://stackoverflow.com/questions/22737972
复制相似问题