C# 使用csvhelper提供映射/写入协助

C# 使用csvhelper提供映射/写入协助,c#,csv,map,mapping,csvhelper,C#,Csv,Map,Mapping,Csvhelper,请在csvhelper上提供快速帮助 csv: 姓名 人物地图: 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; se

请在csvhelper上提供快速帮助

csv: 姓名

人物地图:

    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; }
主要内容:

public void writePerson()
{
可数记录;
使用(var r=new CsvReader(new StreamReader(“person.csv”))
{
r、 RegisterClassMap();
records=r.GetRecords().ToList();
} 
使用(var w=new CsvWriter(new StreamWriter(“person.csv”))
{
w、 RegisterClassMap();
w、 WriteRecord(记录);//重写csv列表
w、 WriteField(“约翰”);
w、 书面字段(“Doe”);
w、 NextRecord();
}
}
错误行:records=reader.GetRecords().ToList()

错误:
未找到标题记录。

看起来您的person.csv没有第一行作为标题行,如下所示:

Name,LastName

请检查CSV文件。

看起来您的person.CSV没有第一行作为标题行,如下所示:

Name,LastName

请检查CSV文件。

好,因此我用以下内容修复了它:

写:

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(); }
阅读:

i可数记录;
使用(var reader=new CsvReader(new StreamReader(@“person.csv”))
{
reader.Configuration.RegisterClassMap();
records=reader.GetRecords();
}

好的,我用以下方法修复了它:

写:

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(); }
阅读:

i可数记录;
使用(var reader=new CsvReader(new StreamReader(@“person.csv”))
{
reader.Configuration.RegisterClassMap();
records=reader.GetRecords();
}

添加以下配置行


w、 configuration.HasHeaderRecord=false;

添加以下配置行


w、 configuration.HasHeaderRecord=false;

能否请您粘贴csv文件的头2-3行以及获得的异常堆栈跟踪?能否请您粘贴csv文件的头2-3行以及获得的异常堆栈跟踪?我遇到了类似的问题。你能解释一下是怎么回事吗?正在从对GetRecords()的调用中删除“ToList()”?我遇到了类似的问题。你能解释一下是怎么回事吗?正在从对GetRecords()的调用中删除“ToList()”?