C# чтение .csv файла

Начал изучать нейросети, написали с другом одну на python, но сейчас пытаюсь реализовать что-то похожее на шарпе. В python можно загрузить многие датасеты из keras.datasets, а сейчас я хочу скачать файл.csv и превратить в две матрицы: матрица тренировочных данных и матрица ответов. В итоге у меня получился такой код:

class FileProcessor
    {
        private List<List<int>> trainData;
        private List<List<int>> answersData;

        public int[,] TrainX { get; }
        public int[,] TrainY { get; }

        public FileProcessor()
        {
            trainData = new List<List<int>>();
            answersData = new List<List<int>>();
            using(var sr = new StreamReader("heart.csv"))
            {
                while(!sr.EndOfStream)
                {
                    string str = sr.ReadLine();
                    Parser(str);
                }
            }

            TrainX = new int[trainData.Count, trainData[0].Count];
            TrainY = new int[answersData.Count, answersData[0].Count];

            for (int i = 0; i < trainData.Count; i++)
            {
                for (int j = 0; j < trainData[0].Count; j++)
                {
                    TrainX[i, j] = trainData[i][j];                    
                }
                TrainY[i, 0] = answersData[i][0];
            }
        }

        private void Parser(string a)
        {
            string number = "";
            List<int> train = new List<int>();
            List<int> answer = new List<int>();
            for (int i = 0; i < a.Length; i++)
            {
                if(a[i] != ',')
                {
                    number += a[i];
                }

                else
                {
                    if((a.Length - 1) == i)
                    {
                        answer.Add(Convert.ToInt32(number));
                    }

                    else
                    {
                        train.Add(Convert.ToInt32(number));
                    }
                }
            }

            trainData.Add(train);
            answersData.Add(answer);
        }
    }

Оцените, т.к. в программировании я пока мало что понимаю


Ответы (0 шт):