Мне нужно прочитать данные из CSV-файла и сохранить заголовок и содержимое в моем объекте в следующем формате. Список нижеуказанного класса.Необходимо преобразовать данные, разделенные запятыми из файла, в список объектов
public class MappingData
{
private string ColumnName { get; set; }
private List<string> Data { get; set; }
}
Так, например, у меня есть таблица вроде как показано ниже,
| Name | Phone | City |
|:-----------|------------:|:------------:|
| Yassser | 32342342234 | Mumbai
| Sachin | 32342342234 | Surat
| Will | 32342342234 | London
Так что для приведенных выше данных мой класс должен иметь 3 объекта, первый объект будет иметь следующие данные
ColumnName: 'Name' данных: [ 'Ясир', 'Сэчин', 'Будет']
Итак, это то, что я пытаюсь сделать, Ниже я начал. Я читаю файл с помощью средства чтения потока и разделяет каждую строку с помощью разделителя запятой.
private List<MappingData> GetData(string filename)
{
var data = new List<MappingData>();
string fullPath = GetFilePath(filename);
StreamReader reader = new StreamReader(fullPath);
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
if (!String.IsNullOrWhiteSpace(line))
{
string[] values = line.Split(',');
}
}
return data;
}
Может кто-нибудь, пожалуйста, помогите мне сформировать эти данные в необходимом формате. Благодарю.
Хм, почему ваши объекты на самом деле являются столбцами? Это довольно странный подход. – athabaska
В классе MappingData у вас есть член с именем ColumnName. Где вы получаете значение для этого участника? Он присутствует (как заголовок, первая строка) во входном файле? Вы разделите строку на запятую, но ваш пример не отображает запятую во входном файле. – Steve
@Yasser: Отметьте мой обновленный ответ, –