Можно ли закодировать CR/LF в в файлы CSV?

delete освобождает память, но не изменяет ее и не обнуляет. Тем не менее вы не должны получать доступ к освобожденной памяти.

59
задан Andy 19 February 2009 в 16:18
поделиться

4 ответа

Да, необходимо перенестись в кавычках:

"some value
over two lines",some other value

От этот документ , который является общепринятым стандартом CSV:

поле А, которое содержит встроенные разрывы строки, должно быть окружено двойными кавычками

70
ответ дан Tim Cooper 7 November 2019 в 14:53
поделиться

Упоминание было сделано здесь стандарта для CSV. Мне было бы интересно знать больше об этом - единственные стандарты, о которых я знаю,

8
ответ дан 7 November 2019 в 14:53
поделиться

наиболее распространенный вариант csv там, который является Excel совместимый, позволит встроенные новые строки, пока поле окружается двойными кавычками.

foo,bar,"blah blah
more blah blah",baz

или

foo,bar,"blah blah
more blah blah"

или

"blah blah
more blah blah",baz

все допустимы. Этот механизм также допускает встроенные запятые.

Используя кавычки вокруг текстовых полей без встроенных новых строк (или запятые) прекрасен также. Если сам текст содержит двойную кавычку затем, механизм для выхода из него должен соединить два, например.

foo,bar,"this person said ""blah blah 
more blah blah""",baz

Запись csv читателя, который обрабатывает, это правильно может быть хитро (особенно при доверии регулярным выражениям).

13
ответ дан ShuggyCoUk 7 November 2019 в 14:53
поделиться

Я не думаю, что это - часть стандарта (если даже существует один), но Вы могли бы использовать стандартный выход C-стиля, т.е. закодировать \r\n.

Имеют в виду, однако, что, если Вы делаете это, необходимо также закодировать символ ESC - т.е. \урожаи \после декодирования.

0
ответ дан Randolpho 7 November 2019 в 14:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: