Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 加载CSV数据并创建点阵列_C#_Csv - Fatal编程技术网

C# 加载CSV数据并创建点阵列

C# 加载CSV数据并创建点阵列,c#,csv,C#,Csv,我目前的任务是在Visual C#2010 Express中创建一个小型C#应用程序,该应用程序加载一个CSV文件并处理信息,以创建一个点阵列,显示在地图上。 CSV中的条目如下所示: 装置;纬度;经度;速度时间 57EA7531-0E1F-41C7-B785-22398D445FEA;55.512.653;13.306.292;93;13-4-2014 14:01 其思想是加载此信息,拆分数据,将其指定为以下代码的不同属性: ShapeLayer sl = new ShapeLayer("Ma

我目前的任务是在Visual C#2010 Express中创建一个小型C#应用程序,该应用程序加载一个CSV文件并处理信息,以创建一个点阵列,显示在地图上。 CSV中的条目如下所示:

装置;纬度;经度;速度时间

57EA7531-0E1F-41C7-B785-22398D445FEA;55.512.653;13.306.292;93;13-4-2014 14:01

其思想是加载此信息,拆分数据,将其指定为以下代码的不同属性:

ShapeLayer sl = new ShapeLayer("Marker");
wpfMap.Layers.Add(sl);
marker.Width = marker.Height = 20;
marker.ToolTip = "A map marker"; [needs to contain Device;Latitude;Longitude;Speed;Time]
sl.Shapes.Add(marker);
ShapeCanvas.SetLocation(marker, new System.Windows.Point(8.4, 49)); [needs to contain Longitude,Latitude]
注意中间[]是需要输入的CSV数据


此CSV文件包含大约2000个条目,对于每个条目,需要使用上述代码创建一个点。我在加载CSV和使用处理后的数据创建阵列方面的经验非常有限,有没有一种方法可以帮助我?

有不同的方法。我会做那样的事

注意。此解决方案中需要异常处理

 string[] allLines = System.IO.File.ReadAllLines(@"yourCVSPath.csv");

 foreach(string sLine in allLines)
 {
         string[] arrLine = sLine.Split(new char[] { ',' }); // or ';' according to provided data

          if (arrLine.Length == 5)
          {
               string sDevice = arrLine[0];
               string sLatitude = arrLine[1];
               string sLongitude = arrLine[2];
               string sSpeed = arrLine[3];
               string sTime = arrLine[4];

               ShapeLayer sl = new ShapeLayer("Marker");
               wpfMap.Layers.Add(sl);
               marker.Width = marker.Height = 20;
               marker.ToolTip = sLine; //[needs to contain Device;Latitude;Longitude;Speed;Time]
               sl.Shapes.Add(marker);
               ShapeCanvas.SetLocation(marker, new System.Windows.Point(sLongitude, sLatitude)); //[needs to contain Longitude,Latitude]
          }
  }

看看如何加载CSV并拆分数据,因为您提到CSV包含2000个条目。匹配哪个条目属于哪个标记的标准是什么?CSV文件的每一行中的数据都应该在该代码段中处理,并存储在“标记”数组中,然后我可以显示它们。