CsvHelper是否可以处理诸如;[0,0],[100100]]?;
我想处理像CsvHelper是否可以处理诸如;[0,0],[100100]]?;,csvhelper,Csvhelper,我想处理像[[0,0],[100100]]这样的数据,但我不知道如何使用CsvHelper这样做。我定义了likefloat[][]和CsvReader返回null,那么什么是正确的呢?此数据不是csv。CsvHelper将尝试像解析“[[0”,“0]”,“[100”,“100]]”那样解析它。您可以使用Newtonsoft.JsonNuget包对其进行反序列化 var data=“[0,0],[100100]”; float[][]结果=JsonConvert.DeserializeObjec
[[0,0],[100100]]
这样的数据,但我不知道如何使用CsvHelper
这样做。我定义了likefloat[][]
和CsvReader
返回null,那么什么是正确的呢?此数据不是csv。CsvHelper将尝试像解析“[[0”
,“0]”
,“[100”
,“100]]”那样解析它。
您可以使用Newtonsoft.Json
Nuget包对其进行反序列化
var data=“[0,0],[100100]”;
float[][]结果=JsonConvert.DeserializeObject(数据);
@约翰说得很好。这可能是CSV文件中单元格内的数据。在这种情况下,ClassMap
可能是一个不错的选择
公共类程序
{
公共静态void Main(字符串[]args)
{
使用(MemoryStream stream=new MemoryStream())
使用(StreamWriter=新StreamWriter(流))
使用(StreamReader=新StreamReader(stream))
使用(CsvReader csv=新CsvReader(读卡器))
{
writer.WriteLine(“Id,Data”);
WriteLine(“1,\”[[0,0],[100100]]\”;
writer.Flush();
流位置=0;
csv.Configuration.RegisterClassMap();
var results=csv.GetRecords().ToList();
}
}
}
公开课Foo
{
公共int Id{get;set;}
公共浮点[][]数据{get;set;}
}
公共类FooMap:ClassMap
{
公共地图()
{
Map(m=>m.Id);
Map(m=>m.Data).ConvertUsing(row=>JsonConvert.DeserializeObject(row.GetField(“数据”));
}
}
或者如果它是CSV文件中的一个单元格,则JsonConvert.DeserializeObject(CSV.GetField(“MyField”))
,其中CsvHelper将数据保留为字符串