C#从csv文件中读取数据,包含8列,并对其进行排序

时间:2012-11-27 05:23:38

标签: c#

所以我试图读取一个csv文件,它本质上是一个由单词分隔的数据列表,我到目前为止所做的是使用ReadAllLines然后从那里用text.Split(',')分隔; 唯一的问题是我只是阅读了这种列表/数组类方法,而不是创建一个实际的数组,所以我不知道如何调用它或使用它。以下是我到目前为止的情况:

using System;
using System.IO;
public class Earthquake
{
    public double Magnitude { get; set; }
    public string Location { get; set; }
    public double Latitude { get; set; }
    public double Longitude { get; set; }
    public double depth { get; set; }
    public string date { get; set; }
    public string EventID { get; set; }
    public string URL { get; set; }
    public Earthquake(double magna, string locate, double lat, double longi, double dept, string dat, string Event, string website)
    {
        Magnitude = magna;
        Location = locate;
        Latitude = lat;
        Longitude= longi;
        depth = dept;
        date = dat;
        EventID = Event;
        URL = website;
    }

}
public class ManageData
{

    public int count;
    public void getData()
{
    string[] text = File.ReadAllLines(@"Earthquakes.csv");
    foreach (string word in text[count].Split(','))
    {
        //here i want to put each data in the Earthquake class
    }

}

}

2 个答案:

答案 0 :(得分:0)

您可以替换

foreach (string word in text[count].Split(','))
    {
        //here i want to put each data in the Earthquake class
    }

使用以下代码行并查看是否有帮助

foreach (string line in text)
{
  string[] myColumns = line.Split(',');

  EarthQuake eQ = new EarthQuake(myColumns[0],myColumns[1],myColumns[2],myColumns[3],myColumns[4],myColumns[5],myColumns[6],myColumns[7],myColumns[8]);
  //Add eQ into a list you want to save

}

这假设列的顺序相同。如果顺序不同于使用此构造函数,请使用默认构造函数,然后相应地为EarthQuake类的属性赋值。

希望有所帮助。

答案 1 :(得分:0)

当我需要管理CSV文件C# CSV Reader and Writer

时,此项目对我帮助很大