Учет кавычек в строке при считывании файла .csv - C#
Формулировка задачи:
Всем привет.
Столкнулась с такой ситуацией. Считываю из файла большое количество информации в виде:
Вообще хотела использовать функцию Но, честно сказать, не поняла, как ее использовать в случае кавычек. Подскажите, как таки кавычки эти "проигнорировать" в строке лучше?
название организации|адрес|долгота|широта
Фишка в том, что по какой-то причине в файле может оказаться запись, где название организации будет записано в кавычках, то есть вид строки будет:"название организации"|адрес|долгота|широта
Надо правильно разбить всю эту string.. Как мне правильно обработать кавычки возможные? Всю эту инфу я считываю в табличку и в самом начале проверяю условие:try{ ////создаём таблицу и выделяем колонки if (!String.IsNullOrEmpty(Info_about_firm[i])) { Info_about_firmValues = Pharmacy[i].Split('|'); //создаём новую строку dr = dt.NewRow(); dr["Name"] = Info_about_firmValues[0]; dr["Address"] = Info_about_firmValues[1]; dr["Longitude"] = Double.Parse(Info_about_firmValues[2].Replace(".", ",")); dr["Latitude"] = Double.Parse(Info_about_firmValues[3].Replace(".",",")); //добавляем строку в таблицу dt.Rows.Add(dr); } } //если ошибка, то печаль catch (Exception ex) { MessageBox.Show(ex.Message); }
Info_about_firmValues[0].TrimStart();
Решение задачи: «Учет кавычек в строке при считывании файла .csv»
textual
Листинг программы
using System; using System.IO; using System.Linq; using System.Text; using System.Drawing; using System.Windows.Forms; namespace CsvParse { internal sealed class frmMain : Form { public frmMain() { InitializeComponent(); } private DataGridView dgvGrid; private void InitializeComponent() { this.dgvGrid = new DataGridView() { Dock = DockStyle.Fill }; this.ClientSize = new Size(500, 130); this.Controls.Add(this.dgvGrid); this.StartPosition = FormStartPosition.CenterScreen; this.Text = "CsvParse"; this.Load += (sender, args) => { var csv = (from line in File.ReadAllLines(@"E:\sandbox\test.csv", Encoding.Default).Skip(1) let l = line.Split('|') select new { Name = l[0].Replace("\"", ""), Address = l[1], Longtitude = l[2], Latitude = l[3] }).ToList(); dgvGrid.DataSource = csv; }; } } internal sealed class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new frmMain()); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д