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

ฉันจำเป็นต้องสร้าง methof ที่ดูค่าปัจจุบันของโหนด <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

  • ในแผนที่ที่สอง คุณสามารถลบรหัสที่ตั้งของสต็อกและทำงานที่เหลือได้

Voila คุณแลกเปลี่ยนคอลัมน์

person tobi6    schedule 13.08.2017

คุณสามารถใช้ tXMLMap ซึ่งค้นหาได้

person PreetyK    schedule 11.08.2017