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);
}
}
Оцените, т.к. в программировании я пока мало что понимаю