Как записать данные в несколько строк, НО в пределах одной ячейки CSV? - PullRequest
16 голосов
/ 29 июня 2011

Я хочу создать один CSV-файл, используя C #.

У меня есть данные, которые я хочу записать в несколько строк, НО в одной ячейке.

Например Если у меня есть следующие три предложения,

Sample sentence 1. This is second sample sentence. and this is third sentence.

Я хочу написать все эти три предложения в одной ячейке CSV-файла, но я хочу, чтобы три из них были в отдельной строке.

Мой ожидаемый результат:

Sample sentence 1.
This is second sample sentence.
and this is third sentence.

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

Может кто-нибудь подсказать, пожалуйста, как решить эту проблему?

Ответы [ 6 ]

25 голосов
/ 29 июня 2011

К цитата из Википедии :

Поля со встроенными переносами строк должны быть заключены в двойные кавычки.

Например, например:

1997,Ford,E350,"Go get one now
they are going fast"
0 голосов
/ 26 октября 2018

Всегда переносите ваше описание между "\", например: CsvRow.Add ("\" "+ ID +": "+ description +" \ "");

0 голосов
/ 29 июня 2011
string input = "...";

var r = input.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries) // split by dot (have you any better approaches?)
             .Select(s => String.Format("\"{0}.\"", s.Trim())); // escape each with quotes

input = String.Join(Environment.NewLine, r); // break by line break
0 голосов
/ 29 июня 2011

Я хочу написать все эти три предложения в одной ячейке файла CSV, но я хочу три из них на отдельной строке

Файл CSV определяется как одна строка на строку, ячейки которой разделены запятой (","). Теперь ваш парсер может поддерживать использование "" для объединения предложений в одну ячейку, но это уже расширяет спецификацию. Вы также можете закодировать \ n и декодировать это позже, но опять же, это не файл vcsv. В конце вы пытаетесь сделать что-то, что для определения не определено для файла csv. \ n ЕСТЬ символ новой строки. ЕСТЕСТВЕННО, редактор покажет новую строку здесь.

0 голосов
/ 29 июня 2011

CSV означает «значения, разделенные запятыми», которые являются просто описанием текстового файла. Если вы хотите импортировать в Excel, а затем только предложения в одной строке, вы должны попробовать:

Environment.NewLine

instread из простого /n

0 голосов
/ 29 июня 2011

Вы можете изменить токены, используемые вашим приложением для анализа строк из файла CSV, но в соответствии с определением формата файла CSV , строки в файле используются для представления строк в файле.результирующие табличные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...