Как записать отдельные значения массива из одного столбца - PullRequest
0 голосов
/ 24 сентября 2018
static void Main(string[] args)
{
        string[] LinesInFile = File.ReadAllLines("D:\\Book.csv");

        foreach (string line in LinesInFile)
        {
            if (line != "")
            {
                string[] columns = line.Split(',');
                string PatientID = columns[0];
                string DateOfBirth = columns[1];
                string DateFirstSeen = columns[2];
                string DateOfDiagnosis = columns[3];
                string TreatmentStartDate = columns[4];
                string TreatmentEndDate = columns[5];
                string CancerType = columns[6];
                string TreatmentType = columns[7];

                Console.WriteLine(PatientID[0]);
            }
        }
}

Это некоторые данные из файла CSV,

1,30/07/1966,06/01/2017,21/01/2017,01/02/2017,01/06/2018,4,3
2,25/09/1970,02/01/2017,27/01/2017,04/02/2017,06/05/2018,5,1
3,23/08/1964,11/01/2017,19/01/2017,04/02/2017,31/03/2018,5,1

Так что, в основном, когда я печатаю 'PatientID', он печатает их все из 1-3. Я хочу, чтобы я мог печататькаждый индивидуально, так что если бы я только хотел напечатать первую строку, я могу.Я думал об использовании списка для сохранения информации о каждом «пациенте», но даже тогда как бы я возвращал информацию о каждом пациенте индивидуально, если бы мне нужно было сравнить информацию.

Ответы [ 3 ]

0 голосов
/ 24 сентября 2018

Нужно помочь:

public class Patient {
    public string PatientID {get; set;}
    public string DateOfBirth {get; set;}
    public string DateFirstSeen {get; set;}
    public string DateOfDiagnosis {get; set;}
    public string TreatmentStartDate {get; set;}
    public string TreatmentEndDate {get; set;}
    public string CancerType {get; set;}
    public string TreatmentType {get; set;}
}
List<Patient> lstPatients = new List<Patient>();
lstPatients.add(new Patient{PatientID = columns[0],DateOfBirth = columns[1],..v.v});
0 голосов
/ 24 сентября 2018

Вы можете создать класс пациента для хранения информации о каждом пациенте.И хранить всех пациентов в списке.Затем вы можете получить его из списка:

        public class Patient
        {
            public string PatientID;
            public string DateOfBirth;
            public string DateFirstSeen;
            public string DateOfDiagnosis;
            public string TreatmentStartDate;
            public string TreatmentEndDate;
            public string CancerType;
            public string TreatmentType;
        }

        public static List<Patient> LoadPatients(string filePath)
        {
            var list = new List<Patient>();
            string[] LinesInFile = File.ReadAllLines("D:\\Book.csv");

            foreach (string line in LinesInFile)
            {
                if (line != "")
                {

                    string[] columns = line.Split(',');

                    list.Add(new Patient
                    {
                        PatientID = columns[0],
                        DateOfBirth =columns[1],
                        DateFirstSeen = columns[2],
                        DateOfDiagnosis = columns[3],
                        TreatmentStartDate = columns[4],
                        TreatmentEndDate = columns[5],
                        CancerType = columns[6],
                        TreatmentType = columns[7]
                    });
                }
            }

            return list;
        }

        public static Patient GetPatient(List<Patient> patients, string patientId)
        {
            return patients.FirstOrDefault(pt => pt.PatientID.Equals(patientId));
        }


        #endregion
        public static void Main(string[] args)
        {
            var patients = LoadPatients("D:\\Book.csv");
            var patient = GetPatient(patients, "2");
        }
0 голосов
/ 24 сентября 2018

Вы можете создать класс книги со всеми необходимыми атрибутами, такими как PatientID, DateOfBirth, DateFirstSeen и т. Д., А затем создать список этого класса (List ), чтобы вы могли сохранять данные в списке построчно..

...