witam
Otóż chcę zapisać dane z pliku csv do poszczególnych tablic (każdej kolumnie przyporządkowana jest tablica ewentualnie może też być lista zamiast tablicy i poszczególne dane w komórkach mają być w nich zapisane). Wartości w każdej kolumnie są inne (string, int, bool).
Kolintow ,Kolstringow ,Kolbool itd.
Row1Value1,Row1Value2,Row1Value3
Row2Value1,Row2Value2,Row2Value3
Row3Value1,Row3Value2,Row3Value3
I moje pytanie jest takie jak najlepiej zrobić takie zapisywanie(żeby później bez problemu operować na tych warotsciach)?
Bo myślałem tak żeby zapisać do stringu plik streamreaderem później przecinkami oddzielić i zapisać do tablicy ale to nie da efektu jaki bym chcial bo zapisze wszystko do jednej tablicy, a nie wiem jak zrobic zeby bylo kolumnami
napisałem coś takiego żeby co 4 element w tablicy był dodawany do poszczególnej listy chyba, że 5 element jest typu int to dodaje tez do tablicy i zwieksza o 1 element tylko nie wiem dlaczego mi to nie działa ( coś musiałem pomieszac a nie moge znaleźć tego błędu:(:
string[] file = sr.ReadToEnd().Split((new char[]{',','\n','\r'}),StringSplitOptions.RemoveEmptyEntries);
List<DateTime> listDate = new List<DateTime>();
List<DateTime> listHour = new List<DateTime>();
List<int> listIntSum = new List<int>();
List<int> listIntPrzyr = new List<int>();
List<int> listIntBled = new List<int>();
int j = 0;
int z = 0;
for (int i = 0; i < file.Length;i++ )
{
if (i == 0 || z + j + 4 == i )
{
listDate.Add(Convert.ToDateTime(file[i]));
}
if (i == 1 || z + j + 4 + 1== i )
{
listHour.Add(Convert.ToDateTime(file[i]));
}
if (i == 2 || z + j + 4 + 2 == i )
{
listIntSum.Add(Convert.ToInt32(file[i]));
}
if (i == 3 || z + j + 4 +3 == i )
{
listIntPrzyr.Add(Convert.ToInt32(file[i]));
Console.WriteLine(file[i]);
}
if ((i == 4 || z + j + 4 + 4 == i ) && (file[4].GetType() == typeof(int) || file[j + i].GetType() == typeof(int)))
{
listIntBled.Add(Convert.ToInt32(file[i]));
j++;
}
if (i >= 4)
{
z++;
}