обработка файлов после макроса [DYNAMICVALUES]

Тема в разделе "Встроенный редактор CSV файлов", создана пользователем Алексей_, 26 апр 2015.

  1. Алексей_

    Алексей_ New Member Пользователи

    Регистрация:
    30 янв 2015
    Сообщения:
    11
    Подскажите, как оптимизировать?
    Если мы парсили по шаблону одного проекта товары с инет магазина и получили 300 файлов с товарами. Каждый файл это определенная категория продуктов. Парсили с помощью макроса [DYNAMICVALUES].

    в результате получили 300 файлов где первые 5 колонок одинаковые, а вот 1 строка и характеристики товаров разные

    как есть article_all_1.csv,article_all_2.csv и как хотелось бы article_all_3.csv
    СD.rar
    в итоге нужно решение для пакетной обработки фалов, чтобы первую строку с файла который добавляется к первому файлу, дописывало в первую пустую ячейку первой строки , а диапазон ячеек с указанного (мы указываем ) столбца записывался в столбец куда скопировалась первая ячейка строки.
    как-то так )
    Спасибо всем кто поможет хоть как- то автоматизировать процес.

    Всем кто спросит почему не парсить сразу одним файлом все --
    макрос [DYNAMICVALUES] расставляя значения по столбцам добавляет их один за другим, и если у товаров первой категории "вес" был в третей колонке то и у всех товаров последующих "вес" будет в этой колонке.
    В итоге при парсинге таким методом получим очень не качественную базу товаров, где все характеристики товаров разбросаны
     
  2. Kreol

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Здравствуйте.
    А чем же вес может различаться? Без примеров врядле тут что-то скажешь.
    А если в характеристиках написано вес и не указано чего он именно, тогда неясно что именно вам не нравится)
    Для того чтоб сделать то что вы написали с файлами, это надо писать макрос, при этом надо получить очень четкое ТЗ с нормальными примерами (чего за n-е количество постов, пока вы не научились предоставлять)
    Возможно вы неправильно или неточно используете [DYNAMICVALUES]
     
  3. Алексей_

    Алексей_ New Member Пользователи

    Регистрация:
    30 янв 2015
    Сообщения:
    11
    Уважаемый Kreol, вы видели результаты работа макроса [DYNAMICVALUES] гораздо больше чем я ), но для тех кто не видел, все же положу файл Посмотреть вложение forum.sbfactory.ru.rar

    к примеру предоставляю цыфров. фотоаппараты
    характеристики идут в таком порядке

    Вес
    Питание
    ЖК-дисплей
    Размеры (Ш х В х Д), мм
    Сенсор изображения
    .......
    в таком же порядке они и погрузятся в магазин
    а нужно, как у сайта донора
    ЖК-дисплей
    Сенсор изображения
    ......
    Вес
    Питание
    Размеры (Ш х В х Д), мм

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

    поэтому, я разбил проект на 300 файлов, где каждый файл это отдельная категория, и хочется как-то пакетно обработать эти файлы

    благодаря вам Kreol, я узнал про copy *.csv combined.csv, очень быстро, просто и я думаю когда-то пригодится
    Надеюсь и по моему вопросу получу подсказку, либо соберу на этой теме единомышленников и нас услышит Сергей :)
    Всем кому это может пригодится прошу поддержать
     
  4. Kreol

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Здравствуйте!
    1) В макросе есть присвоение категорий (Ссылки недоступны для гостей Формат входящих данных для макроса [DYNAMICVALUES] с использованием оператора [GROUPNAME])
    2) Никто вам не мешает эти так называемые категории присваивать.
    Ведь можно же поиск/заменой поменять все что угодно. Правда для этого нужно знать как это делать.
     
  5. Алексей_

    Алексей_ New Member Пользователи

    Регистрация:
    30 янв 2015
    Сообщения:
    11
    спасибо за подсказку, это решает мою проблему )

    но появляется новая, менее хлопотня но все же

    Подскажите как обработать файл СSV, или чем его открыть что бы корректно экспортировать данные в Еxcel (если в файле мало колонок то выручает OpenOffice 4.1.1 но он поддерживает 1024 колонки)
    проблема в числовых значениях характеристик, Еxcel много значений переделывает в даты
     
  6. Kreol

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Я бы вам посоветовл не парсить все сразу.
    Возьмите 1-2 категории и все, разбейте ваш парсинг на части.
    с Датами вы ничего не сделаете. Характеристики обычно пишут то через точку, то через запятую и используя Dinamicvalue мы не можем применить замены для всех точек, но можем добавить регулярку
    Код:
    re:(\d)\.(\d)|$1,$2
     
    Последнее редактирование: 2 май 2015
  7. Алексей_

    Алексей_ New Member Пользователи

    Регистрация:
    30 янв 2015
    Сообщения:
    11
    а что будет делать даная регулярка ?
    что означают d (может дата)
    и что означет $1,$2

    для чего используете вы эту регулярку :) ?
     
  8. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    \d - digits (цифры если перевести с английского)
    регулярное выражение ищет совпадение пары двух цифр через точку, при совпадении их разделитель точка меняется на запятую.
    п.с. Ссылки недоступны для гостей - Синтаксис регулярных выражений
     
  9. Алексей_

    Алексей_ New Member Пользователи

    Регистрация:
    30 янв 2015
    Сообщения:
    11
    очень полезно было больше узнать о регулярках, но к сожелению, такая замена убирает слишком много нужных точек

    по этому хотелось бы обратится к Root

    уже реализована разбивка СSV файла по строкам

    возможно ли реализовать разбивку файла по колонкам ?
    тогда с помощью OpenOffice эта проблема решится очень даже просто
    и данные в Ексель попадают оч. даже хорошо и коректно только СSV нужно открыв сохранить в ODS, а потом открыть Екселем 10
     
  10. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Попробую сделать разбивку по колонкам. Спасибо!
     
  11. Алексей_

    Алексей_ New Member Пользователи

    Регистрация:
    30 янв 2015
    Сообщения:
    11
    Уважаемый Root очень актуален вопрос разбивки по колонкам или хотя бы возможность в редакторе удаления сразу нескольких колонок допустим с 1000- по 3500
     
  12. Kreol

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    используйте excel для разбивки на колонки
     
  13. Алексей_

    Алексей_ New Member Пользователи

    Регистрация:
    30 янв 2015
    Сообщения:
    11
    В виду того что excel преобразовывает при открытии форматы ячеек как хочет, а когда говориш ему воспринимать как текст он еще может сказать что ресурсов ему не хватает и тд.
    хотелось бы видеть это в редакторе
    спс за понимание
     
  14. Kreol

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Это все исправляется очень просто.
    После долгих похожих мучений, у меня всегда при использовании динам валью есть замена
    Код:
    ,|. или наоборот .|, 
    это зависит от значений разделителей системы.
    Естественно это делается не для всего что есть в границе а для каких-то определенных фрагментов.
    И это обычно на 100% решает такие проблемы.

    Также не совсем понятно чем вас не устраивает штатный импорт текста
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    Как вариант который можно применить, открываем сначала в либре или опен офисе, просто пересохраняем. потом открываем в екселе делаем нужные действия, сохраняем и опять через либру пересохраняем.
     
  15. Алексей_

    Алексей_ New Member Пользователи

    Регистрация:
    30 янв 2015
    Сообщения:
    11
    либрой не пользовался а опен очень хорошо справляется с этой задачей но только он не берет файлы где больше 1000 колонок ) для него родного и прошу )
     

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