2013-08-01 2 views
0

привет всем и спасибо заранее. У меня есть следующий код для отображения записей из .csv-файла в datagridview (имеет три столбца Number, Date, Message) в C# Windows Application.отображение строки массива в datagridview C# windows application

var lines = File.ReadAllLines("E:\\messages.csv").Select(a => a.Split(',')).ToList(); 
foreach (string[] s in lines) 
{ 
    dataGridView1.Rows.Add(s[2], s[5], s[7]); 
} 

свою работу штраф за первые 7 появления «» но у меня есть другие строки в CSV-файле, которые имеют более 7 «» поэтому я хочу, чтобы аль вхождение в «» после того, как 7 следует в сочетании с 7-го один для моего третьего столбца в DataGridView имя, как сообщение

пример одной строки в CSV-файле

смс, поставить, «+ 919999999999», «», «», "2013.08.01 09:40 "," "," После сдачи в аренду квартиры в Мумбае: SHIKHA, Около SHATRANJ, Off Carter Road, Khar Garden, выходящий на 1500 кв. Футов 2 часа для проверки. --Rohit J. "

ответ

2

Вы можете использовать этот overload of Split, который позволяет вам выбрать количество возвращаемых элементов (7 в этом случае).

var lines = File.ReadAllLines("E:\\messages.csv") 
          .Select(a => a.Split(new[] {','}, 7)).ToList(); 

foreach (string[] s in lines) 
{ 
    dataGridView1.Rows.Add(s[2], s[5], s[6]); 
} 
+0

его указательный индекс находился за пределами массива ... –

+0

@ShaikhMohammadSufiyan - Изменить 's [7]' to 's [6]'. В качестве альтернативы, если это приведет к уменьшению одного результата, измените значение '7' на' 8' (так, чтобы 8 результатов были возвращены и сохранили ваш 's [7]' звонок). – keyboardP

+0

Спасибо, сэр ... я получаю результат, который я искал ... но еще одна вещь, сэр .. я также хотел удалить двойные кавычки из результата .. как я могу сделать это сэр ... –

1

Попробуйте

var lines = File.ReadAllLines("E:\\messages.csv").Select(a => a.Split(',',7)).ToList(); 
0

Чтение/разбора CSV, просто разделив на запятых плохая идея. Рассмотрим следующую таблицу:

 
Col 1    Col 2    Col 3 
Hello    How are you  I am fine 
Hello, world  Are you well  Yes I am 

CSV-будет выглядеть примерно так:

 
Col 1, Col 2, Col 3 
Hello, How are you, I am fine 
"Hello, world", Are you well, Yes I am 

Расщепление запятыми будет munge вторую строчку. Вложенные кавычки и новые строки делают работу еще сложнее.

Вместо этого не беспокойтесь изобретать колесо и использовать парсер. Посмотрите ответы на вопросы this question или this question для некоторых предложений.

Смежные вопросы