У меня есть строка данных в CSV, где некоторые ячейки могут содержать разрывы строк
Я загружаю этот файл, используяAsp: FileUpload и пытается прочитать каждую строку с помощью StreamReader:
var file = btnFileUpload.PostedFile;
using (StreamReader sr = new StreamReader(file.InputStream))
{
string currentLine;
var line = 1;
// currentLine will be null when the StreamReader reaches the end of file
while ((currentLine = sr.ReadLine()) != null)
{
....do stuff...
}
}
Однако при отладке я обнаружил, что sr.ReadLine()
разбивает строки на разрывы строк в ячейках, например в категорииклетка.Например, когда я читаю строку 2 (первая строка данных после заголовка), значение равно:
"/Home/Blog/2018/november/power,English : English,Erica Stockwell-Alpert,/Home/Blog/Categories/Accounts Payable Automation;"
, а затем следующий sr.ReadLine ():
"/Home/Blog/Categories/Financial Services;"
, а затем
"/Home/Blog/Categories/Robotic Process Automoation,<p>[the rest of the line]"
Как можно предотвратить прерывание sr.ReadLine () символов новой строки в ячейках?Или, если я не могу, как еще я могу прочитать файл построчно?
Примечание: я не могу использовать csv reader ClassMap и csvReader.GetRecords, потому что инструмент, над которым я работаю, должен уметь обрабатыватьлюбые другие поля в заголовке, это не связано с одним конкретным классом.Поэтому мне нужно прочитать файл построчно.