[csv] текст CSV-таблицы [/csv]

 
+
-
edit
 

Balancer

администратор
★★★★☆
помощь тэги сайт Авиабаза
Используйте
code text
  1. [csv]
  2. CSV-данные ...
  3. CSV-данные ...
  4. ...
  5. CSV-данные ...
  6. [/csv]
для создания CSV-таблиц.

Пример:
code text
  1. [csv]
  2. *Заводы;*1942;*1943;*1944;*1945 (I/II полугодие)
  3. N153 Н-сибирск;59;1761;5858;3559 (2867/692)
  4. N166 Омск;;732;1600;1084 (926/158)
  5. N82 Москва;;;373;444 (403/41)
  6. *Всего;59;2493;7831;5087 (4196/891)
  7. [/csv]
даст в результате
Заводы1942194319441945 (I/II полугодие)
N153 Н-сибирск59176158583559 (2867/692)
N166 Омск 73216001084 (926/158)
N82 Москва  373444 (403/41)
Всего59249378315087 (4196/891)
 


Параметры:

  • Возможно указание ширины таблицы:


code text
  1. [csv 100%]
  2. *Заводы;*1942;*1943;*1944;*1945 (I/II полугодие)
  3. N153 Н-сибирск;59;1761;5858;3559 (2867/692)
  4. N166 Омск;;732;1600;1084 (926/158)
  5. N82 Москва;;;373;444 (403/41)
  6. *Всего;59;2493;7831;5087 (4196/891)
  7. [/csv]
даст в результате
Заводы1942194319441945 (I/II полугодие)
N153 Н-сибирск59176158583559 (2867/692)
N166 Омск 73216001084 (926/158)
N82 Москва  373444 (403/41)
Всего59249378315087 (4196/891)
 


  • Если ячейка начинается со звёздочки '*' она считается заголовочной ячейкой
  • В качестве разделителя используется точка с запятой - разделитель по умолчанию CSV-таблиц Excel
  • Таблицы можно переносить прямо из Excel, сохранив их как *.csv, а потом скопировав их содержимое через любой текстовый редактор.
 
Это сообщение редактировалось 10.01.2005 в 00:28
+
-
edit
 

Mishka

модератор
★★☆
Ром, я как понимаю, он не рекурсивный? Правильно?

Test 1  
Clolumn 1 Column 2 Column 3
1 3
Total  


Test 2   
1234
56[csv] 
subtable   
1234
5678
[/csv]   
25262728
 
+
-
edit
 

Balancer

администратор
★★★★☆
Да, сама идеология CSV не позволяет быть рекурсивной - там же строго однострочные данные.
 
RU slipstream #02.02.2005 22:38
+
-
edit
 

slipstream

втянувшийся
тест с переводом строк
     
1
a
2345
12
b
345
123
c
45


нормально
RU slipstream #22.06.2005 11:41
+
-
edit
 

slipstream

втянувшийся
А чем в этой версии csv экранируются ";" ?
+
-
edit
 

Balancer

администратор
★★★★☆
1;23;4
56


Хм. Должно было кавычки понимать. Не понимает. Буду исправлять :)
 
RU Серокой #10.07.2007 19:56
+
-
edit
 

Серокой

координатор
★★★
Значки, которые преобразуются в теги с кавычками, тоже воспринимаются как разделитель.
Если я хочу в таблицу включить следующие строки:
Масса М1, М2
10 кг, <20, то получится вот что:

Масса М1 М2 
10 кг <20
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
RU Balancer #11.07.2007 13:13  @Серокой#10.07.2007 19:56
+
-
edit
 

Balancer

администратор
★★★★☆
Серокой> Если я хочу в таблицу включить следующие строки:
Серокой> Масса М1, М2
Серокой> 10 кг, <20, то получится вот что:
Масса М1 М2
10 кг <20


Так лучше? :) Используй кавычки, чтобы параметр экранировать.
 
RU Balancer #11.07.2007 13:14  @Balancer#22.06.2005 11:48
+
-
edit
 

Balancer

администратор
★★★★☆
Balancer> Хм. Должно было кавычки понимать. Не понимает. Буду исправлять :)

Соответственно, когда-то было исправлено :)
 
+
-
edit
 

Balancer

администратор
★★★★☆
Несколько доработок:
  • Внутри таблиц больше не обрабатывается BB-код. А то некоторые пихали ОЧЕНЬ большие таблицы, а для каждой ячейки обработка шла отдельно ;) В будущем, возможно, будет реализована облегчённая версия разметки.
  • Убраны предупреждения о несоответствии числа столбцов в разных строках. Боритесь с глюками сами :D
  • Добавлены модификаторы внутри ячейки: [cs=N] - прописать colSpan (число объединённых ячеек) в N. И [cs=max] - прописать объединение ячейки на всю ширину. Пишется модификатор первым в ячейке. После модификатора заголовка (*), если тот есть:

code text
  1. [csv]
  2. *hhh;*[cs=2]ggg
  3. aaa;bbb;ccc
  4. [cs=2]111;222
  5. [cs=max]333
  6. 444;[cs=max]555
  7. [/csv]


Результат:

hhhggg
aaabbbccc
111222
333
444555
 
+
-
edit
 

marata

Вахтер форумный
★☆
[shamed] Я больше так не буду ;) [/shamed]
 
UA sas1975kr #04.05.2009 20:32  @Balancer#06.10.2007 21:00
+
-
edit
 

sas1975kr

опытный

Balancer> Несколько доработок:
Balancer> * Внутри таблиц больше не обрабатывается BB-код. А то некоторые пихали ОЧЕНЬ большие таблицы, а для каждой ячейки обработка шла отдельно ;) В будущем, возможно, будет реализована облегчённая версия разметки.

Т.е. в маленьких таблицах [/b] работает, а в больших нет?
характеристики114411442
Основные данные  
Класс корабля РКРРКР
по коду НАТОKirovKirov
Год сдачи головного 19801984
Количество в серии13+1
Кораблестроительные элементы  
Водоизмещение, т.:  
• стандартное2410024300
• полное2619026190


а тэг url по тому же принципу? В маленьких работает, в больших нет?
Кртиерий "большая" - порядка 48 ячеек?
Эх, жалко - королевство маловато , разгуляться негде! Ну ничего! Я поссорюсь с соседями! Это я умею. ©  7.07.0
RU Серокой #02.03.2011 21:38  @Balancer#06.10.2007 21:00
+
-
edit
 

Серокой

координатор
★★★
Balancer> * Добавлены модификаторы внутри ячейки: [cs=N]
Не работает.

code text
  1. [csv]
  2. [cs=max]0
  3. 1;2;3
  4. [/csv]


0  
123


А ещё так не обрабатывается звёздочка:

code text
  1. [csv]
  2. [cs=3]*0
  3. 1;2;3
  4. [/csv]

*0
123
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
Это сообщение редактировалось 02.03.2011 в 21:47
+
-
edit
 

stas27

эксперт
★☆
stas27>> Рома, мои картинки недотянулись вот тут
Balancer> Да, я видел ещё вчера и поставил в очередь :) Даже понимаю почему, но надо голову ломать как обойти проблему.

Спасибо. Вот ещё вопрос - это уже не о баге, а о фиче :) .

Почему у тебя для тэга [csv] в качестве разделителя колонок используется точка с запятой, а не запятая (как следует из названия формата - comma separated values)? Нет, я конечно приспособился делать глобал реплейс в файлах, которые Эксель делает, но остаётся вопрос "почему"...
С уважением, Стас.  27.0.1453.11027.0.1453.110
+
-
edit
 

Balancer

администратор
★★★★☆
stas27> Почему у тебя для тэга [csv] в качестве разделителя колонок используется точка с запятой

Потому что в таком виде экспортирует данные Excel :) Тэг затачивался под прямое использование его выхлопа. Типа, набил большую таблицу в Excel, сохранил в .csv, открыл в простом редакторе и скопипастил на форум.

...

Кстати, я давно уже умею читать .xls, можно подумать о вставке таблиц из .xls-аттачей.

stas27> Нет, я конечно приспособился делать глобал реплейс в файлах, которые Эксель делает

Странно. И давно он так? :)

А, вообще — есть параметр delim="," (или что угодно):
code text
  1. [csv delim=","]
  2. Буханка хлеба, 35 руб
  3. Бутылка водки, 350 руб
  4. [/csv]


Буханка хлеба 35 руб
Бутылка водки 350 руб
 
 28.0.1500.4528.0.1500.45

RU Balancer #21.06.2013 00:04  @sas1975kr#04.05.2009 20:32
+
+1
-
edit
 

Balancer

администратор
★★★★☆
sas1975kr> Кртиерий "большая" - порядка 48 ячеек?

Сейчас (в будущем может и поменяться) — 8 кбайт суммарного текста таблицы, включая разметку. Если меньше — парсер ячеек работает. Больше — идут простым текстом.
 28.0.1500.4528.0.1500.45
+
-
edit
 

stas27

эксперт
★☆
stas27>> Почему у тебя для тэга [csv] в качестве разделителя колонок используется точка с запятой
Balancer> Потому что в таком виде экспортирует данные Excel :)
У тебя русская версия? Англо-американский всё время даёт исключительно запятые (если не веришь - взгляни на аттач - ей-богу, ничего в дефолтах не менял :) ).
...
Balancer> А, вообще — есть параметр delim="," (или что угодно):
Блин, не хватает закладок на ценные советы. Спасибо!
Прикреплённые файлы:
q.csv (скачать) [4,2 кбайт, 71 загрузка] [attach=338543]
 
 
С уважением, Стас.  27.0.1453.11027.0.1453.110
RU Balancer #21.06.2013 00:08  @Серокой#02.03.2011 21:38
+
-
edit
 

Balancer

администратор
★★★★☆
Серокой> Не работает.

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

Серокой> А ещё так не обрабатывается звёздочка

Она должна быть первой. [cs...] уже следом:

code text
  1. [csv]
  2. *[cs=3]0
  3. 1;2;3
  4. [/csv]

0
123
 28.0.1500.4528.0.1500.45
+
-
edit
 

Balancer

администратор
★★★★☆
stas27> У тебя русская версия?

У меня сейчас никакой нет :) Но раньше на всех известных мне машинах Excel экспортировал в вариант с точкой с запятой.

stas27> если не веришь - взгляни на аттач

Да верю я, просто поменяли, значит, поведение. При импорте он всё равно формат же уточняет.

Balancer>> А, вообще — есть параметр delim="," (или что угодно):
stas27> Блин, не хватает закладок на ценные советы. Спасибо!

Ну, я потому в тему по тэгу и перенёс. А так — надо мне просто не лениться в файле с тэгом его описание задавать: Описание тегов

А, блин. Совсем забыл. Автоматическая генерация описания тэгов работает только для новых тэгов, объектных, а не процедурных :) Надо будет [csv] переписать…
 28.0.1500.4528.0.1500.45
+
-
edit
 
RU Грач #28.06.2014 16:38  @Balancer#21.06.2013 00:19
+
-
edit
 

Грач

аксакал
★☆
Balancer> ???
почему нет разделительных линий? :(
Диапазон частот радио- и радиотехнического контроля, МГц 0,1-18000
Точность пеленгования, град 2-3
Диапазон частот контроля побочных электромагнитных излучений, МГц 0,01-20000
 35.0.1916.15335.0.1916.153
RU Balancer #28.06.2014 23:47  @Грач#28.06.2014 16:38
+
+1
-
edit
 

Balancer

администратор
★★★★☆
Грач> почему нет разделительных линий? :(

Временный баг. Но устранять не буду, пока не вернусь из отпуска в конце июля. А то, мало ли, поломаю что-то, а исправить уже не получится...
 35.0.1916.15335.0.1916.153
RU Грач #29.06.2014 18:10  @Balancer#28.06.2014 23:47
+
-
edit
 

Грач

аксакал
★☆
Balancer> ... пока не вернусь из отпуска в конце июля.
в Краснодарские края? :)
 35.0.1916.15335.0.1916.153
RU Balancer #29.06.2014 18:29  @Грач#29.06.2014 18:10
+
+1
-
edit
 

Balancer

администратор
★★★★☆
Balancer>> ... пока не вернусь из отпуска в конце июля.
Грач> в Краснодарские края? :)

Не-а:

Пицунда — есть кто-нибудь с Авиабазы там? :) [Balancer#08.05.14 23:48]

Сабж, собственно. А то подумываем в июле туда махнуть на пару недель.// Города и страны
 
 3434
RU Balancer #17.11.2014 03:10  @Грач#28.06.2014 16:38
+
-
edit
 

Balancer

администратор
★★★★☆
Грач> почему нет разделительных линий? :(

Исправлено.
 38.0.2125.11138.0.2125.111

в начало страницы | новое
 
1914: Покушение Гаврилы Принципа на австрийского престолонаследника Франца Фердинанда в Сараево и его жену, послужившее поводом к началу Первой мировой войны. (102 года).
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru