убрать переносы строк

Тема в разделе "Шаблон вывода", создана пользователем glinda, 30 авг 2017.

  1. glinda

    glinda Member Пользователи

    Регистрация:
    28 авг 2017
    Сообщения:
    12
    Город:
    Новосибирск
    День добрый. Прошу помощи по следующему вопросу - как убрать переносы строк?

    Подробнее:
    Необходимо получить результирующий файл вида
    "заголовок1;заголовок2;заголовок3(перенос строки)
    товар1;характеристика1_1;характеристика1_2(перенос строки)
    товар2;характеристика2_1;характеристика2_2(перенос строки)"

    Имею после парсинга файл csv вида
    "заголовок1;заголовок2;заголовок3(перенос строки)
    (перенос строки)
    товар1;(перенос строки)
    характеристика1_1;
    (перенос строки)"

    В настройках указал - разделитель ячеек ";" контейнер ячеек пустое значение, галочка на преобразование текста границ парсинга в одну строку и удалять пустые абзацы. По Ctrl+4 (дополнительные настройки границ парсинга) у каждой границы парсинга установил галочку "в одну строку"

    Я так понимаю переносы строк получаются по следующей причине - шаблон для парсинга имеет вид
    Код:
    <CD_GRAN_1!>[CSVCS] <!--|Name. |!-->
    <CD_GRAN_2!>[CSVCS] <!--|Характеристика1 |!-->
    <CD_GRAN_3!>[CSVCS] <!--|Характеристика2 |!--> 
    Если всё писать в одну строку, переносы строк уходят, но читаемость пропадает. Есть ли выход из этого положения? Что бы каждая команда была с новой строки и не было переносов в результирующем файле?
     
  2. glinda

    glinda Member Пользователи

    Регистрация:
    28 авг 2017
    Сообщения:
    12
    Город:
    Новосибирск
    Есть решение но оно некрасивое до безобразия
    Код:
    <CD_GRAN_1!>[CSVCS] <!--|
    Name. |!--><CD_GRAN_2!>[CSVCS] <!--|
    Характеристика1 |!--> <CD_GRAN_3!>[CSVCS] <!--|
    Характеристика2 |!--> 
    Здесь имеем каждую команду с новой строки и комментарий
     
  3. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Не совсем понятно но попробую угадать что разделить переносом надо только то что выводится повторяющимися границами.
    Тогда в разделителе циклов повт.границ поставьте @@@ и потом в шаблоне вывода обнимите повт.границу макросом REPLACE где замена @@@|{br}
     
  4. glinda

    glinda Member Пользователи

    Регистрация:
    28 авг 2017
    Сообщения:
    12
    Город:
    Новосибирск
    Спасибо, но немного не то. Нужно что бы была возможность каждый макрос писать с новой строки (для удобочитаемости), но в то же время что бы в результирующем файле не было переносов, которые образуются при написании макроса с новой строки.
    Идея такая:
    шаблон:
    макрос1
    макрос2
    макрос3
    Результат:
    результат1;результат2;роезультат3
    Сейчас имеем
    результат1;
    результат2;
    результат3

    По идее это всё должно просто реализоваться, но не могу понять как. Поэтому прошу подсказать.
    Пробовал макрос [DEL_EMPTY_STRINGS] в применении ко всему документу - не помогло.
     
  5. glinda

    glinda Member Пользователи

    Регистрация:
    28 авг 2017
    Сообщения:
    12
    Город:
    Новосибирск
    Вот итоговый файл. Переносы строк возникающие (если смотреть в notepad++ и поставить отображение символов конца строки) -их не должно быть. Точнее строка должна начинаться "Product_id" и заканчиваться "minimum" после этого перенос строки, что в принципе и происходит, только вставляется куча переносов строк после этого. Не пойму почему.
     

    Вложения:

  6. glinda

    glinda Member Пользователи

    Регистрация:
    28 авг 2017
    Сообщения:
    12
    Город:
    Новосибирск
    Прошу прощения за невнимательность, у меня в cdp файле были переносы строк после выполнения всех макросов. Убрал их и результирующий файл получился формата как и планировал.
     
    Root нравится это.
  7. Alexlife

    Alexlife Member Пользователи

    Регистрация:
    16 окт 2015
    Сообщения:
    49
    я запарился . уже бесит ....вот не понимаю зачем эти переносы если они не работаю как нужно?
    мне нужно просто вывести значение повторяющихся границ в следующей строке, но в том же столбце, ставлю [CSVLB] в "чем разделять сд цикл грань олл"
    и да оно переносит , но только в другой столбец!
     
  8. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Не беспокойтесь, это для тех кто ознакомился хотябы с основами программы.))

    Разделитель {br} внутри ячейки применяется для содержимого.
    Разделитель [CSVCS] применяется для распределения содержимого по ячейкам в этой же строки документа (без перехода на новую строку) CSV.
    Разделитель [CSVLB] применяется для распределения содержимого на новые строки документа CSV
     
  9. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Переносы работают хорошо. У вас непонимание, как работает CSV.
     
  10. Alexlife

    Alexlife Member Пользователи

    Регистрация:
    16 окт 2015
    Сообщения:
    49
    отличный ответ, только он не решает вопроса, ради которого я тут начал писать, ясень пень что я что то не понимаю и делаю неправильно)))
    Да я как бы ознакомился, раньше настраивал, но помню что тоже были танцы с бубном, вот сейчас опять нужно и никак не получается...
    Да но он почему то переносит не только на новую строку. но и в другой столбец
    что мне тут поставить, чтобы значения повторяющихся границ попадали в отведенный для каждой из них столбик и переносились на следующую строку в ихнем столбике. Может вы подскажете? Заранее благодарю
    Ссылки недоступны для гостей
    а так то. спасибо вам что вообще отвечаете!)
     
  11. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Замените файл Content Downloader.exe (в папке с программой) этим файлом:
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 33 постов.**
    Изучите этот материал системы помощи Ссылки недоступны для гостей

    PS: На этом форуме, пожалуйста, больше не пишите слова типа "запарился" и прочие жаргонные. Старайтесь использовать литературную речь.
     
    Последнее редактирование: 18 фев 2019
    kagorec нравится это.
  12. loper

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

    Регистрация:
    18 янв 2019
    Сообщения:
    2
    Проблема при парсинге в csv имеется слово "пример1&слово1" или "пример2'слово2" . Получается после парсинга в первом столбце оказывается "пример1&amp" а "слово1" уходит на второй столбец а во втором случае "пример2&#x27" а "слово2" уходит на второй столбец. Где в настройках отключить этот перенос строк чтобы на спецсимволы программа не реагировала?
     
  13. Djahat

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

    Регистрация:
    14 янв 2013
    Сообщения:
    543
    Город:
    Мордор
    Мне кажется ото вопрос не к CD, а к программе которой открываете потом CSV. Вы какой программой открываете CSV? Что указываете в качестве разделителей полей и строк?
     
  14. loper

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

    Регистрация:
    18 янв 2019
    Сообщения:
    2
    excel 2007 разделитель между столбцами "; " а внутри повторяющихся границ парсинга "пробелточка"
    С повторяющимися границами все в порядке
    Проблемы с переносом возникают только в ячейках где есть спец символы " & " " ' "
     
    Последнее редактирование: 3 авг 2019
  15. Djahat

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

    Регистрация:
    14 янв 2013
    Сообщения:
    543
    Город:
    Мордор
    Приложите файл CSV сюда, я посмотрю что не так.
    Вообще EXCEL плохо открывает CSV, лучше использовать LIBRE OFFICE или OPEN OFFICE CALC
     

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