Как вставить значения из текстового файла в таблицу данных в С#C#

Место общения программистов C#
Anonymous
Как вставить значения из текстового файла в таблицу данных в С#

Сообщение Anonymous »

У меня есть текстовые файлы, такие как CSV, каждый из которых имеет разные форматы CSV.
Пример:
  • Значение1,значение2,Значение3
  • "Val1","val2","val3"
  • "Значение1",Значение2,Значение3,"Значение4"
  • "Значение","Значение1,Значение2","Значение3"< /p>
Мне нужен стандартный код для отправки этих данных для исправления заголовков столбцов в таблице данных.
В настоящее время я прочитал текстовый файл с помощью средства чтения потоков и записал заголовки в таблицу данных, а затем с помощью цикла foreach вставлю все строки в таблицу данных.
Сначала я разделяю столбцы на основе запятой.
Но формат с двойными кавычками (ПРИМЕР 4) в одном столбце приводит к ошибке (Входной массив длиннее, чем количество столбцов в этой таблице.), поэтому я запрограммировал if else, если столбец имеет двойные кавычки, он перейдет к условию if, иначе он перейдет к условию else, как показано в приведенном ниже коде. Но это влияет на пример 3
Поскольку он вставляет значение как
Изображение

Ожидаемый результат:
Изображение

Мой код:

Код: Выделить всё

 DataTable csvData = new DataTable();
string[] lines = File.ReadAllLines(D:\Filepath\Filename.txt);
foreach (string line in lines)
{
if (line.Contains("\""))
{
col = line.Split('\"');
col = Array.FindAll(col, isNotCommaHeader).ToArray();
col = col.Skip(1).ToArray();
col = col.Take(col.Count() - 1).ToArray();
}
else
{
col = line.Split(',');
}
csvData.Rows.Add(col);

}
Может ли кто-нибудь знать, как вставить все эти форматы в таблицу данных?

Подробнее здесь: https://stackoverflow.com/questions/789 ... in-c-sharp

Вернуться в «C#»