将CSV文件数据插入列表<object> C#

时间:2017-12-03 19:03:26

标签: c# visual-studio

我在很长一段时间内都在寻找足够的答案,但没有运气。

正如标题所示,我正在尝试将CS​​V数据读入列表。基本上我有一个名为Person的类:

    public string Name { get; set; }
    public string Surname { get; set; }
    public DateTime DateOfBirth { get; set; }

我正在尝试将其从CSV读取到列表中。我不确定如何在行方面做到这一点,以便它匹配名称,姓氏,dob

CSV文件如下所示:

  

姓名姓氏出生日期
  Angela Blah 24/01/1990

总之,我想要&#39; Angela&#39;要插入Person对象列表中的详细信息。

任何帮助将不胜感激。 谢谢。

编辑:

我确实做过几件事:

在Person类中创建一个constuctor         公共人物(字符串行)         {             var split = line.Split(&#39;,&#39;);

        Name = split[0];
        Surname = split[1];
        DateOfBirth = split[2];  
    }

然后想要那样使用它:

var people = File.ReadLines("../people.csv").Select(line => new 
             Person(line)).ToList();

但当然它是空的,因为我正在创造一个新人。这是我能想到的最接近的......这是答案的正确方向还是完全错误?

2 个答案:

答案 0 :(得分:0)

您可以通过将文件导出为字符串( File.ReadAllLines()),然后使用字符串上的 .Split(char splitcharacter)来完成此操作用逗号分开。

    static void Main(string[] args)
    {
        // READ FILE INTO TMP
        var tmp = "TEST,TEST1,TEST2".Split(',');
        var Name = tmp[0];
        var Surname = tmp[1];
        // ETC
    }

答案 1 :(得分:0)

您可以拆分该行,然后将其添加到列表

{{1}}

理想情况下,您将有一个循环,它将从csv读取每一行,然后根据分隔符(,)拆分它,然后在循环内部,您将在列表中添加Person类的对象