Appending many large tables

Hello KNIME-Forum,

I’m trying to load analyzer data into KNIME. I have 30 .txt files containing 14 columns of which I chose those I want to import. All files are in one folder. I wrote a workflow that should extract all files and their selected columns and my goal is to merge them together, based on their time-signature. The process seems to work out to a certain amount: I get a .csv file which is reasonably big - but the structure is weird and confusing. Instead of a continuous Time-column, I get many different columns for different time signatures and the data looks randomly mixed.

List files: lists all files in .txt format in the selected directory
File Reader: Reads the files and selects columns
Row Filter: Excludes the first two rows containing column names
String to Date & Time: Converts string from Column 1 to a time format (MM/dd/uu kk:mm:ss.SSS)
Loop: Repeats this process on each file
Concatenate: Should append the files - but doesn’t…

If you need any further information, feel free to ask, I’m new to KNIME and try my best, to be clear.
Thank you very much.

Hi!

Concatenate node in this case will double the rows you have after loop is finished. If your columns are all the same (I guess they are) use Loop End node.

Loop end node “…collects the intermediate results by row-wise concatenation of the incoming tables.”

Still not sure this will give you what you want but might be a step forward :wink:

Br,
Ivan

Hi Ivan,

I tried collecting the data directly from the loop end node but I still get new rows for each iteration. Can’t find a node / option to join columns of each iteration. I’m sorry.

Best,
Patrick

Hi there!

Loop end node should do that and I thought you are trying that with Concatenate node after Loop finished. You do not have anything to append after loop is finished so Concatenate node is not needed…

If your times signatures are same you can use Sorter node to sort it in loop and then use the Loop End (Column Append) node as you already did. But this will work only if you have same number of rows in each iteration. If not new rows will be created with missing above. That’s how Loop End (Column Append) works. Also you should check “Loop has same row IDs in each iteration” in node configuration.

Br,
Ivan

1 Like