Column names don't match data if column order is changed

Hi there,

I noticed an odd behavior of the Table Reader node. If you read a table, concatenate it and for some reason change the order of the columns before writing it back to the same table the reader node is confused the next time you execute it. It uses the column names from the first read but for the data the column order you saved it. In essence it does not read the data based on the actual column names but more based on the column order but keeps the original order of column names. In order to avoid this you have to open the reader node and hit apply so that column names and data match again (off course now in the second save order). I hope my description was clear enough.

There exists a similar “feature” with the Excel Reader Node. I can’t find the forum thread right now, but a KNIME team member mentioned that the Excel Reader scans the file only when the node is set up. This is to boost performance, since it skips the extra table scans in every loop iteration. The downside is that it will not well work with changing table specs. Your problem description fits like a glove, except that it’s a different file reader.

Maybe those reader nodes need a checkbox with two options:

  • I am speed.
  • My files are weird.

edit: In the case of the Table Reader, it might be enough to check the last file change, since there’s not multiple sheets that can be selected.

Hey Jerry,

I think the “Support changing file schemas” option in the Advanced Settings tabis what you are looking for.

Best regards
Lars

3 Likes

There goes my feature suggestion :sweat_smile:
Didn’t notice the new tabs in the config, but I like them.

1 Like

Thanks for your comments. The little checkmark did it.

2 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.