Я пытаюсь прочитать CSV-файл в коде C # в качестве примера здесь. Этот CSV-файл содержит три столбца, из которых один столбец не имеет значения в нескольких строках. Так что это рассматривается как новая строка с обратной косой чертой (\ ") в C # StreamReader. Когда я открываю файл в Notepad ++, он показывает как изображение ниже:
Но в MS Excel в этом столбце ничего не отображается, как показано на изображении ниже
Здесь и Notepad ++, и MS Excel показывают данные по-разному. В Notepad ++ это показывает "", где в Excel это показывает пустое значение. Всякий раз, когда мы читаем файл через код C # ниже, он принимает формат, как показано в Notepad ++.
Считайте код CSV
protected List<string> ReadFile(string filePath)
{
List<string> content = new List<string>();
using (StreamReader csvReader = new StreamReader(filePath))
{
string line = string.Empty;
while ((line = csvReader.ReadLine()) != null)
{
if (line.Trim().Length > 0)
{
if (line.Count(x => x == ',') >= 1)
{
content.Add(line);
}
}
}
}
return content;
}
В настоящее время он сокращает текущую строку в C # и перемещается во второй итерации цикла.
пожалуйста, смотрите эти скриншоты:
1) С полными данными
2) С пустыми данными строка разбита на 2 части, это часть 1
3) С пустыми данными строка разбита на 2 части, это часть 2
Ожидаемый O / P: он должен рассматривать его как одну строку в коде C #.
Как мне справиться с этим сценарием в коде C #?