Создать CSV и сохранить "," в строке ввода? - PullRequest
0 голосов
/ 05 июня 2018

При написании CSV, вам, очевидно, нужно добавить «,» между каждым значением, чтобы он мог определить, где разделить информацию, например, в Excel.

Например:

Name,Age
Bob,23

Разделит эти данные на 2 столбца.Однако в некоторых случаях поле может уже содержать «,».

Program,Version,Text
Hello_World,1,Hello, World!

Этот экземпляр разделит это на 4 столбца, что нам явно не нужно.Простой способ взломать это - использовать Regex.Replace, чтобы изменить любые существующие символы "," на "."вместо этого, например, но это затем изменяет значение данных.

Вместо этого, есть ли способ, которым я могу изменить значение символа «,», чтобы CSV не распознал его как «разделить»символ, без фактического добавления символов или замены символа на что-то еще? Например:

Program,Version,Text,Author
Hello_World,1,Hello, World!,Ben

Таким образом, это выглядит так:

Program     | Version | Text          | Author
Hello_World | 1       | Hello, World! | Ben

Пост-примечание: созданиеCSV с разделителями табуляции - это простое решение, но я ищу другие возможные решения, если они существуют.

1 Ответ

0 голосов
/ 05 июня 2018

Правильный способ сделать это - заключить поле в двойные кавычки:

Program,Version,Text,Author
Hello_World,1,"Hello, World!",Ben

Если само поле содержит двойные кавычки, их необходимо экранировать другой двойной кавычкой:

"Monitor 24"", Samsung"

Дополнительная информация: https://tools.ietf.org/html/rfc4180

...