Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Какие превосходства у CSV (Comma separated values) перед TSV (Tab-separated values)? (http://forum.oszone.net/showthread.php?t=135323)

Admiral 20-03-2009 20:45 1069687

Какие превосходства у CSV (Comma separated values) перед TSV (Tab-separated values)?
 
Всем привет.

Отвечая на свой же вопрос: у CSV есть визуальное разделение (запятая, вместо невидимой табуляции) если смотреть на сам исходным файл, а не любоваться результатами работы парсера. И то, данное превосходство можно нивелировать, если смотреть в текстовом редакторе/процессоре у которого есть возможность отображать не печатные символы. MS Word->Отобразить все знаки
А так для CSV нужно дополнительно обрабатывать данные - заключать в кавычки значения, в которых требуются применять запятую, дабы дать парсеру понять, что это не служебная запятая и бить на колонки в данном случаи не требуется.

До создания темы даже не знал что аббревиатура TSV применяется.
Дело в том что когда с Екселя копируешь табличные значения и вставляешь их в Блокнот как раз разбитие через табуляцию, и это тоже табличное представляет данных на что призван CSV для которого с Екселя требуется проделать Файл – Сохранить. Этим же путём можно сохранить и табулированный файл тот же TSV.
Кто не в курсе то Парсер - это программа или часть программы, выполняющая синтаксический анализ. http://ru.wikipedia.org/wiki/Синтаксический анализ


Несмотря на это распространенность CSV весьма значительная по сравнению с TSV. Почему?

dascon 21-03-2009 11:54 1070138

Цитата:

распространенность CSV весьма значительная по сравнению с TSV. Почему?
для меня так именно потому, что TSV нужно
Цитата:

смотреть в текстовом редакторе/процессоре у которого есть возможность отображать не печатные символы
А CSV - в любом.

Busla 21-03-2009 12:14 1070159

Если данный в таблице примерно одной размерности, то TSV будет представлен ровными колонками, а не сплошным текстом, как CSV. Так что на счёт визуального представления не согласен.

dascon 21-03-2009 13:28 1070227

Цитата:

Если данный в таблице примерно одной размерности, то TSV будет представлен ровными колонками, а не сплошным текстом, как CSV
это уже от редактора/просмотрщика зависит

lxa85 21-03-2009 14:35 1070288

Табуляция понятие довольно растяжимое, в частности в программировании редакторы могут настраиваться, а могут и нет, на замену символа табулиции определенным числом пробелов. Будь то 8, 4 или 2. Основное применение - форматирование текста.
При переносе исходников в другой редактор наперед не известно, как он работает с табуляцией.
Пологаю что и в данном случае также не известно, как идет сохранение файла. Будет ли редактор вставлять символ табуляции или же заменит неким числом пробелов.
CSV - четко определен разделяющий символ
Цитата:

Цитата Admiral
А так для CSV нужно дополнительно обрабатывать данные - заключать в кавычки значения, в которых требуются применять запятую, дабы дать парсеру понять, что это не служебная запятая и бить на колонки в данном случаи не требуется. »

ИМХО это не сильная нагрузка на парсер.
Также попробую предопложить что с CSV удобнее работать в анализаторах текста gawk, perl, и т.п.

Admiral 22-03-2009 03:29 1070778

dascon позиция ясна. Так же и при выводе на печать, в случаи не равномерных данных, будет видно где закончились колонки. Впрочем по типу приводимых данных это тоже можно сделать.

Busla я как раз TSV использую, хоть и не знал что он так называется, всегда называл как его называет Ексель - текстовый файл с разделителями табуляции или просто табулированный текст. Про превосходство визуализации предположил как идею возникновения CSV.
С CSV столкнулся на форуме в виде предложения сохранить в нём PM, чуть не спутав его с CVS (Concurrent Versions System) про который слышал ранее благодаря ресурсу sourceforge.net
Данную путаницу встретил и в теме Для чего нудны csv-файлы? где на 4м и 5м посте распутали.


lxa85 с пробелами тоже можно решить вопрос, если их точно будет больше одного. Это и будет отличием от одинарного, который может быть в полях данных.
Да но информативная нагрузка на пользователя, работающего с сырыми данными и видящего служебные запятые и кавычки обрамляющие данные где это требуется. Хотя как вариант можно заключить в кавычки все поля с данными с целью однородности.
В случаи анализаторов текста вполне возможно, ведь тогда можно управлять данными с консоли (если я правильно понял идею применения gawc в ключе с CSV), а табуляцию консоль не воспримет, в отличии от запятой.

Busla 22-03-2009 11:26 1070923

lxa85, понятие, как раз, довольно чёткое, а кривые реализации к сожалению, существуют практически для всего :-)


Время: 19:45.

Время: 19:45.
© OSzone.net 2001-