Импорт из CSV (как убрать пробел в целом числе)

Главные вкладки

Аватар пользователя alex-litvinov alex-litvinov 24 ноября 2022 в 5:37

В csv файле есть поле цена в след. формате - "1 300", если я загружаю в поле целое число - поле остается пустым.
Собственно вопрос: как загрузить через feeds именно в поле "целое число"? и можно ли убрать пробел с помощью feeds tamper?

Комментарии

Аватар пользователя ivnish ivnish 24 ноября 2022 в 12:13

В вашем случае будет проще вручную подкорректировать CSV файл. Если, конечно, не нужен полностью автоматический экспорт-импорт

Аватар пользователя ivnish ivnish 24 ноября 2022 в 13:13

В таком случае да, можно тампером попробовать. В вашем случае вам нужна функция удаления пробелов в переменной. Если такой нет готовой, то можно ее самому написать

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

Аватар пользователя Andruxa Andruxa 7 декабря 2022 в 10:06

Возможно, в csv пробел в какой-нибудь другой кодировке, отличной от юникода.
В тампере вроде был плагин с регуляркой, попробуйте применить там правило "оставить только цифры и десятичный разделитель, если он нужен".

Аватар пользователя kolyuchy.org kolyuchy.org 6 декабря 2022 в 3:55

Если не требуется большой скорости обновления или csv не шибко большой, сделайте дополнительное текстовое поле, туда импортируйте "1 300" как текст, в Rules сделайте правило, которое срабатывает при импорте, создавая переменную из текстового поля, затем удаляя пробел (наверное, можно быстро с помощью замены формата или сначала PHP-скриптом, хз) и записываю в нужное числовое поле.

Аватар пользователя Photo_Almaty Photo_Almaty 6 января 2023 в 0:22

Знакомый предложил вот такое решение:

Чтобы загрузить целочисленное значение через Feeds Tamper, вы можете использовать плагин «Number» и установить для параметра «Тип данных» значение «Целое». Затем вы можете использовать плагин «Regex replace», чтобы удалить пробел из значения, прежде чем оно будет сохранено в поле. Вот пример того, как может выглядеть ваша конфигурация Tamper:

  1. Добавьте плагин «Число» и установите для параметра «Тип данных» значение «Целое».
  2. Добавьте плагин «Regex replace» и установите для параметра «Найти» значение «\s» (это будет соответствовать любому символу пробела). Установите значение «Заменить» на пустую строку.
  3. Установите значение «Источник» для обоих плагинов в поле, содержащее значение цены.
  4. Установите значение «Цель» для плагина «Число» в поле, в которое вы хотите сохранить целочисленное значение.

Это должно позволить вам импортировать целочисленное значение в ваше поле с удаленным символом пробела.