Повторяющиеся граница - пустая ячейка

Тема в разделе "Решение различных задач по парсингу", создана пользователем nalim[1nc], 7 мар 2014.

  1. nalim[1nc]

    nalim[1nc] New Member Пользователи

    Регистрация:
    7 мар 2014
    Сообщения:
    3
    Настроил парсинг повторяющихся табличных данных и вывод в csv. Но столкнулся с ситуацией, что если в ячейке пусто, то ячейка csv игнорируется и в нее записывается следующая.
    Как сделать, чтобы ячейки не смещались?

    Попробовал следующую конструкцию:
    [CHARCOUNT][EXCLUDE][/EXCLUDE][VALUE][/CHARCOUNT]>0[THEN][VALUE][ELSE]null[/IF1]

    Не помогло, все равно в ячейку ничего не пишется.
     
  2. nalim[1nc]

    nalim[1nc] New Member Пользователи

    Регистрация:
    7 мар 2014
    Сообщения:
    3
    Тему можно закрывать, разобрался :).
     
  3. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Здравствуйте!
    Старайтесь такие данные выводить в конце, не буду утверждать что эта ситуация решаема, но можно попробовать такой вариант
    Код:
    [IF][CHARCOUNT][VALUE][/CHARCOUNT]>0[THEN][VALUE][ELSE][CSVCS][/IF]
    Обычно такой подход используется для картинок, которые нужно растолкать по столбикам, и заранее не известно сколько их будет, либо с характеристиками.
    Для фиксированных данных лучше использовать простые и динамические границы.
     
  4. nalim[1nc]

    nalim[1nc] New Member Пользователи

    Регистрация:
    7 мар 2014
    Сообщения:
    3
    Реализовал простыми границами. Все оказалось проще, чем думал.
    Спасибо за программу.
     
  5. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Обращайтесь!
     
  6. myrecs

    myrecs New Member Пользователи

    Регистрация:
    5 июн 2014
    Сообщения:
    24
    Вопрос все еще актуален, подскажите нет ли на данный момент более простой реализации замены пустой ячейки, как например это сделано для обычных границ. если нет то подскажите как это сделать "не очень просто". то что написано выше как то не помогло, это прописывать надо в настройках повторяющихся границ?
     
  7. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Пустые ячейки в последней версии должны автоматически удаляться. Если нет, приложите сюда ваш файл проекта (меню - файл - сохранить проект). Посмотрим настройки...
     
  8. myrecs

    myrecs New Member Пользователи

    Регистрация:
    5 июн 2014
    Сообщения:
    24
    так в том то и дело, что они удаляются и происходит сдвиг. когда парсишь большую таблицу то жесть(. надо как раз чтоб вместо пустых вставляло какой то текст, как например можно указать для простых границ в Доп. настройках.
     
  9. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Надо делать по науке и не будет сдвигов Ссылки недоступны для гостей
     
  10. myrecs

    myrecs New Member Пользователи

    Регистрация:
    5 июн 2014
    Сообщения:
    24
    дело в том что у меня такая конструкция, что внутри повторяющейся границы 1 находится повторяющаяся гр.2 и простая гр.1. Так вот для повторяющейся гр.2 надо прописать правило касательно пустых ячеек. Я могу вам на почту сбросить проект - вы посмотрите.
     
  11. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Ссылки недоступны для гостей
     
  12. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Здравствуйте.
    Сдвиг у вас может быть только тогда, когда вы задав границу, например, для характеристик, пытаетесь их разделить через "Дополнительные настройки парсинга" методом [CSVCS]
    вариант 1)
    в границе может быть 3 характеристики, а в другом случае 5, вот вам и сдвиг.
    вариант 2)
    вы парсите картинки матодом [CSVIMAGES] и заменяете разделитель , на [CSVCS]
    и после картинок, опять идут разные характеристики.
    Итог, опять сдвиг всего.
    И таких вариаций может быть море.

    Выход???
    1) выложить проект сюда и возможно вам помогут.
    2) заказать платную настройку или обучение, подробнее Ссылки недоступны для гостей
    3) Оплатить лицензию Ultimat, изучить как работают макросы которые умеют работать с таблицами.
     
  13. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Да уже вот так вот разобрались. Люди не всегда слышат ответы почему-то, хотя сами задают вопросы.
     
  14. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Здравствуйте!
    Вопрос похожий. При выводе в CSV имеется 1-я колонка с обычной границей (название модели) и 2-я с повторяющейся (с картинками) с выводом каждой в новую строку. Как сделать так, чтобы название модели выводилось бы не 1 раз, а каждый раз дублировалось бы из ячейки сверху пока работает цикл повторяющихся границ?

    Имеется:
    Модель такая-то | Цвет 1
    Цвет 2
    Цвет 3
    Цвет 4

    Надо получить:
    Модель такая-то | Цвет 1
    Модель такая-то | Цвет 2
    Модель такая-то | Цвет 3
    Модель такая-то | Цвет 4

    Проект прикрепляю.
     

    Вложения:

  15. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Еще раз читайте большие красные буквы тут Ссылки недоступны для гостей
     
  16. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Про буквы как раз помню, но не думал, что все так просто. Правда все равно проект выеживается. Там дофига циклов и часть из них выдает пустое значение. Подскажите, пожалуйста, как задать правильную связку [IF1] [THEN], чтоб при пустом значении [VALUE] <CD_GRAN_1!> бы не срабатывал.

    Пробовал:
    Код:
    [IF1][CHARCOUNT][VALUE][/CHARCOUNT]>0[THEN]<CD_GRAN_1!>[/IF1][CSVCS][DUPIGNORE][KEY][VALUE][/KEY][/DUPIGNORE]
    Не получилось.

    Проект с ходом моих мыслей прикладываю.
     

    Вложения:

    Последнее редактирование: 24 дек 2018
  17. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Вот
     

    Вложения:

  18. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Спасибо! До этого бы точно не додумался. Нутром-то я чуял, что поллитра, но математически выразить не мог. Там в итоге вообще конструкция получилась:
    Код:
    [DUPIGNORE]<CD_GRAN_1!>[CSVCS][GRAN3][CSVCS][KEY][GRAN4][/KEY][/DUPIGNORE]
    И без плясок с поиском/заменой. Конечно надеюсь, что <DOWNLOADFILE> в эту строчку тоже нормально впишется. В шаблон вывода просто <CD_CYCLE_GRAN_1!> ушел. Короче, оказалось все намного проще чем казалось изначально.

    В общем, ОГРОМНОЕ спасибо за помощь! А новая функция вообще огонь. Думаю пригодится еще не раз и не только мне.
     
    Root нравится это.
  19. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Пожалуйста
     

Поделиться этой страницей