Конструктор полей

Как собрать нормальные колонки из повторяющихся свойств в JSON, XML, YML и из повторяющихся пар столбцов в CSV, XLS и XLSX.

Конструктор полей помогает превратить повторяющиеся свойства источника в обычные колонки таблицы. Это полезно, когда в исходном файле свойства лежат не как отдельные поля Цвет и Материал, а как набор пар “название свойства / значение свойства”.

Конструктор работает в двух типовых сценариях: для JSON, XML и YML он может найти повторяющуюся группу элементов, например features; для CSV, XLS, XLSX и XLSM пользователь задает маску колонок, например Заголовок{i} и Значение{i}. После добавления в редактор попадают понятные колонки, а технические повторяющиеся поля можно не переносить в итоговую таблицу.

JSON, XML и YML: повторяющиеся элементы

Если в источнике есть повторяющийся список свойств, Eofferix показывает найденную группу перед табличным редактором. В примере это группа features: внутри каждого элемента есть поле title с названием будущей колонки и поле value со значением.

Найденная группа features в конструкторе полей Eofferix
Красной рамкой выделены кнопка сборки по найденной группе и сама группа features.

Откройте группу и проверьте, откуда брать название колонки и значение. Обычно название колонки берется из поля вроде title, name или label, а значение - из value, text или похожего поля. Предпросмотр сразу показывает, какие колонки появятся в таблице. Ненужные будущие колонки можно отключить иконкой глаза: отключенная колонка не попадет в файл результата.

Выбор title и value для сборки колонок из JSON-группы
В предпросмотре видны будущие колонки Цвет, Материал, Стиль, Тип и Мощность.

Если собранные колонки подходят, нажмите Добавить и перейти. Если нужно открыть таблицу без дополнительных колонок, нажмите Перейти без добавления.

Кнопки перехода в конструкторе полей для JSON-источника

После добавления редактор открывается уже с обычными колонками. В примере технические поля вида features.1.title и features.1.value заменены на понятные колонки Цвет, Материал и другие найденные свойства.

Табличный снапшот после сборки колонок из JSON-свойств

CSV, XLS и XLSX: повторяющиеся пары колонок

В табличных файлах структура может быть любой, поэтому конструктор открывается из табличного снапшота вручную. Нажмите Конструктор полей, если видите повторяющиеся пары колонок: например Заголовок1/Значение1, Заголовок2/Значение2.

Кнопка Конструктор полей в табличном снапшоте Eofferix
Красной рамкой выделены кнопка конструктора и первая повторяющаяся пара колонок.

В режиме По маске укажите статичные части названия колонки и место, где меняется фрагмент. Для изменяемой части используйте {i} или {index}. Маска Заголовок{i} найдет Заголовок1, Заголовок2, ЗаголовокA; маска f--{i}--n найдет f--1--n и f--N--n. Регистр букв в маске не важен. Точка не является wildcard-символом: если в названии колонки есть точка, пишите ее как обычный статичный символ.

В поле Маска колонки с заголовком укажите колонку, где лежит будущий заголовок. В поле Маска колонки со значением укажите колонку со значением. Если значение собирается из нескольких колонок, добавьте каждую маску с новой строки. В предпросмотре ненужные будущие колонки можно отключить иконкой глаза: отключенная колонка не попадет в файл результата.

Настройка маски Заголовок и Значение в конструкторе полей
Предпросмотр показывает, какие колонки будут собраны из найденных пар.

Перейти без добавления откроет табличный снапшот без собранных колонок. Добавить и перейти сохранит сборку, откроет снапшот и заменит исходные колонки, попавшие под маску, на новые собранные столбцы.

Кнопки Перейти без добавления и Добавить и перейти

После добавления в таблице остаются обычные поля товара и появляются новые колонки Цвет, Материал, Стиль и другие найденные свойства. Исходные пары Заголовок1/Значение1 в таблицу не добавляются.

Табличный снапшот после добавления колонок из конструктора полей

Примеры

Свойства из JSON, XML или YML

В исходном документе свойства повторяются внутри одного товара, а после сборки становятся колонками.

Было в снапшоте

skufeatures.1.titlefeatures.1.valuefeatures.2.titlefeatures.2.value
CHAIR-001ЦветЧерныйМатериалСталь

Стало в таблице

skuЦветМатериал
CHAIR-001ЧерныйСталь

Повторяющиеся пары по маске

В табличном источнике названия будущих колонок лежат в Заголовок{i}, а значения - в Значение{i}.

Было в таблице

skuЗаголовок1Значение1Заголовок2Значение2
CHAIR-001ЦветЧерныйМатериалСталь

Стало в таблице

skuЦветМатериал
CHAIR-001ЧерныйСталь

Несколько значений с одним названием

Если одно свойство повторилось в одной строке, Eofferix не создает две одинаковые колонки, а объединяет значения.

Было в таблице

skuЗаголовок1Значение1Заголовок2Значение2
PHONE-001СовместимостьiOSСовместимостьAndroid

Стало в таблице

skuСовместимость
PHONE-001iOS | Android

Значение из нескольких колонок

В маске значения можно указать несколько колонок, каждую с новой строки. Например, Значение{i} и Единица{i}. Тогда значение будет собрано из нескольких частей с выбранным разделителем.

Было в таблице

skuПоле1Значение1Единица1
SHELF-004Высота180см

Стало в таблице

skuВысота
SHELF-004180 см