Проблема с CSV

Тема в разделе "Cs-Cart", создана пользователем Jam, 11 мар 2013.

  1. Jam

    Jam

    Регистрация:
    16 янв 2013
    Сообщения:
    137
    Симпатии:
    19
    Если кто-то знает, помогите, пожалуйста. Не могу загрузить csv-файл с товарами в CS-Cart. Там разделителем идет точка с запятой, а в csv этих точек с запятыми навалом, поэтому при загрузке в CS-Cart, движок делит все по этим точкам с запятыми. В итоге получается полная путаница. Как решить эту проблему, кто-нибудь знает?
     
  2. lletol

    lletol

    Регистрация:
    14 фев 2013
    Сообщения:
    106
    Симпатии:
    30
    попробуй сменить разделитель на запятую или табулятор. ну а лучший вариант это подогнать твой цсв под нужный формат
     
  3. Jam

    Jam

    Регистрация:
    16 янв 2013
    Сообщения:
    137
    Симпатии:
    19
    Я пробовал и запятую, и табулятор. Проблема в том, что в csv-файле идут теги и стили. А там куча запятых и точек с запятой. Движок каждую воспринимает как разделитель.
    Если знаешь, расскажи, пожалуйста, как подогнать цсв под нужный формат?
     
  4. lletol

    lletol

    Регистрация:
    14 фев 2013
    Сообщения:
    106
    Симпатии:
    30
    покажите цсв, может и подскажу
     
  5. Jam

    Jam

    Регистрация:
    16 янв 2013
    Сообщения:
    137
    Симпатии:
    19
    Вот здесь один csv-файл с одним товаром. Exсel делит все по точке с запятой.
     
  6. lletol

    lletol

    Регистрация:
    14 фев 2013
    Сообщения:
    106
    Симпатии:
    30

    Вот статья как изменить разделитель
    Хотя CSV который вы прислали, ужасен, вам надо смотреть в сторону того, что этот CSV генерирует
     
    Jam нравится это.
  7. MasterJG

    MasterJG

    Регистрация:
    26 фев 2013
    Сообщения:
    2
    Симпатии:
    1
    Если заключить значение поля в кавычки, то в них можно включать и сам знак разделителя, если нужно включить туда сам знак кавычки, то его нужно удвоить.
    Например:
    1;"Футболка ""Adidas""; Производство ""Киргизия""";"Киргизия";500;10;"2013-01-10"

    на выходе:
    1
    Футболка "Adidas"; Производство "Киргизия"
    Киргизия
    500
    10
    2013-01-10

    Т.е. если это не число то нужнозаключить его в кавычки.
     
    Jam нравится это.
  8. Jam

    Jam

    Регистрация:
    16 янв 2013
    Сообщения:
    137
    Симпатии:
    19
    Расскажите поподробнее, пожалуйста
     
  9. lletol

    lletol

    Регистрация:
    14 фев 2013
    Сообщения:
    106
    Симпатии:
    30
    На сколько я понимаю , там у вас описание разбросано на несколько колонок, это представляет неудобство, плюс чем вы создаете цсв файл?
     
  10. Jam

    Jam

    Регистрация:
    16 янв 2013
    Сообщения:
    137
    Симпатии:
    19
    Я сначала собираю материал с сайта через парсер. Потом задаю ему экспорт в csv-файл, и вот он, этот парсер, задает такой шаблон csv. Только точка с запятой для него разделитель. Если поставить в качестве разделителя другой знак - он тогда заносит все в одну строчку. Есть, конечно, вариант - самому создавать свой csv-шаблон для Cs-Cart. Но все равно встает проблема точки с запятой. Так как парсю описание товара вместе с тегами, а там в стилях точек с запятыми много.
     
  11. KoHcTaHTuHblLj

    KoHcTaHTuHblLj

    Регистрация:
    9 ноя 2012
    Сообщения:
    157
    Симпатии:
    11
    На мой взгляд, самое простое - поковырять парсер и сменить разделитель в нём.
     
  12. Jam

    Jam

    Регистрация:
    16 янв 2013
    Сообщения:
    137
    Симпатии:
    19
    Это десктопная версия. Сделан на Вижл Студио. И такой настройки там не предусмотрено как смена разделителя(
    Я ставил любые другие заменители - бесполезно.
     
  13. lletol

    lletol

    Регистрация:
    14 фев 2013
    Сообщения:
    106
    Симпатии:
    30
    единственно верный вариант, искать новый парсер
     
  14. KoHcTaHTuHblLj

    KoHcTaHTuHblLj

    Регистрация:
    9 ноя 2012
    Сообщения:
    157
    Симпатии:
    11
    Отвык я уже, если честно, от программ, в которых исправить ничего нельзя.

    Похоже, да.
     
  15. Malcasto

    Malcasto

    Регистрация:
    24 янв 2013
    Сообщения:
    103
    Симпатии:
    4
    скопировать все столбцы заново в экель, соханить новый документ как csv с запятой. Загрузить, если не получиться, открыть снова и поменять кодировку через Notepad +
     
  16. Jam

    Jam

    Регистрация:
    16 янв 2013
    Сообщения:
    137
    Симпатии:
    19
    Спасибо за совет, но изменение кодировки не помогло, к сожалению. Тут в другом проблема.
     
  17. KoHcTaHTuHblLj

    KoHcTaHTuHblLj

    Регистрация:
    9 ноя 2012
    Сообщения:
    157
    Симпатии:
    11
    Мой приятель специально вычищал все лишние точки-с-запятыми из описаний товаров, чтобы .csv открывалась корректно.

    Опс, слушайте-ка. Можно попробовать написать скрипт, чтобы до переноса строки оставались сколько-то разделителей с начала и с конца этой строки, а остальные переименовывались во что-либо. Если, конечно, точки-с-запятыми лишние попадаются только в описании товара...
     
  18. Jam

    Jam

    Регистрация:
    16 янв 2013
    Сообщения:
    137
    Симпатии:
    19
    Спасибо за совет! Вы имеете ввиду, что нужно написать рнр-скрипт и парсер на рнр? Я на десктопном собирал контент.
     
  19. KoHcTaHTuHblLj

    KoHcTaHTuHblLj

    Регистрация:
    9 ноя 2012
    Сообщения:
    157
    Симпатии:
    11
    Думаю, не важно, на чём писать - главное, чтобы удобно было пользоваться. PHP, Perl, Python, C - лишь бы обработка работала правильно.
     
  20. jadowin

    jadowin

    Регистрация:
    26 ноя 2012
    Сообщения:
    8
    Симпатии:
    0
    может кто скинуть файл образец?