TalendOpenStuido DI Заменить содержимое одного столбца файла .slx другим столбцом файла .csv

У меня есть два входных файла:

  1. файл .xlsx, который выглядит следующим образом:

введите здесь описание изображения

  1. файлы .csv, которые выглядят следующим образом:

введите здесь описание изображения

У меня уже есть задание Talend, которое преобразует файл .xlsx в файл .xml. Один узел в файле .xml содержит <stockLocationCode>SL213</stockLocationCode>

Выходной XML-файл выглядит следующим образом: введите здесь описание изображения

Теперь мне нужно заменить каждое вхождение stockLocationCode вторым столбцом файла .csv. В этом случае результатом будет: введите здесь описание изображения

Моя талантливая работа выглядит так:

введите здесь описание изображения

Я использую компонент tMap, чтобы поместить столбцы файла .xlsx в правый узел выходного файла xml.

Но я не знаю, как я могу заменить StockLocactionCode реальным местоположением полного запаса, используя файл .csv. Я устал также сопоставлять файл .csv с компонентом tMap.

Мне нужно создать метод, который просматривает текущее значение узла <stockLocationCode> и перебирает весь файл .csv, пока не найдет его в первом столбце файла .csv, а затем заменит содержимое <stockLocationCode> содержимым второй столбец файла .csv.

Производительность не важна ;)


person Viktor Carlson    schedule 11.08.2017    source источник


Ответы (2)


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

Product; Stock Location Code; CSV 2nd column data

  • Теперь на второй карте вы можете просто удалить код складского местоположения и сделать остальную часть своей работы.

Вуаля, вы поменяли колонки.

person tobi6    schedule 13.08.2017

вы можете использовать tXMLMap для поиска

person PreetyK    schedule 11.08.2017