Reading data from a CSV to an array of arrays (C#)

前端 未结 2 506
攒了一身酷
攒了一身酷 2021-01-28 03:13

I have the CSV file opened, but I can\'t figure out how to put the resultant array from splitting the line into another array. I have the following code currently, hopefully it

相关标签:
2条回答
  • 2021-01-28 03:40

    You need to initialize your array, to do that you need to know how many lines in there.

    Instead of reading line by line you can do:

    string[][] FP_GamesArray = File.ReadLines("path")
                              .Select(line => line.Split(','))
                              .ToArray();
    

    Or altenatively, you can start with a List<string[]>, use it's add method, then convert it to an array after the reading is finished, like below:

    List<string[]> lines = new List<string[]>();
    while (!file.EndOfStream)
    {
         string line = file.ReadLine();
         if (!String.IsNullOrWhiteSpace(line))
         {
             lines.Add(line.Split(',');   
         }
    }
    
    string[][] FP_GamesArray = lines.ToArray();
    
    0 讨论(0)
  • 2021-01-28 03:44

    As a supplemental answer for the means of producing a list, here is what I was able to get to work:

      List<string> rows = MyCSVString.Replace("\n", "").Split('\r').ToList();
      List<List<string>> listedMatrix = new List<List<string>>();
      foreach(var x in rows)
      {
        if(x != "")
        {
          var rowList = x.Split(',').ToList();
          listedMatrix.Add(rowList);
        }
      }
    
    • yea, commas will mess it up, as this isn't really true parsing.
    0 讨论(0)
提交回复
热议问题