Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I have To import a csv file in a table.
I use a tFileInputDelimited -> tMap -> tDbOutput
It's working well. But the system that provided me with the file cannot assure me that the columns will always be in the same order.
Is there a way to parse the csv using the column header name instead of the fixed column order specified in the tMap?
Hello,
tFileInputDelimited maps columns by position, not by header name.
Even if you tick “Set heading row as column names,” that only helps with metadata display — it doesn’t dynamically reorder the data.
Talend doesn’t have a built‑in “map by header name” option in tFileInputDelimited.
Workarounds
Example in tJavaRow:
String[] headers = (String[])globalMap.get("headers"); // stored earlier
String[] values = input_row.line.split(";");
output_row.myColumn = values[findIndex(headers, "myColumnHeader")];