The CSV Input Node, what a classic, flat files living on your computer can be consumed and the data can be extracted here in ET1. CSV is a common file type for data gurus.
Comma-Separated Values, a plain text file format for storing tabular data with values separated by commas.

If you have a CSV file, you’re in the right place.
If your CSV is online, try the Github CSV Node.
Using CSV Input Node
Extracting data from you CSV file is easy.
- Drag-n-drop your CSV file
- Click the drag-n-drop to open a file browser, choose your CSV file
- Choose to remove rows from the top or bottom

Why would you want to remove the top and bottom of the row? Removing the top and bottom row of your CSV file happens often when dealing with CSV that comes padded with information that isn’t relevant to your solution.

Some CSV files are not structured correctly, and simply not clean enough for ET1, and that means these files will not open. That means the data grid will not populate with data and the CSV Input Node will be ready for the user to try another CSV.
Check your CSV files for strange/weird structures and remediate them prior to ET1.
CSV Node Input Bug Log
To remain transparent about our code driven solution we will also do our best to maintain a running log of bugs found, and the fixes applied to the bug for each node.
Tyler Garrett
While testing the CSV Input Node, I noticed the From Top: and From Bottom: are working separately but not together. Also, you could not undo a decision once completed. It seemed to indefinitely be broken, requiring the entire node to be restarted.
Furth insights:
- The CSV Input node was mutating
node.data
in processCSVData() by slicing rows off the currentnode.data
. - When you changed “Remove Rows: From Top/Bottom” back to 0, the code reapplied removal on already-trimmed data, so the removed rows were never restored.
Relevant code:
- node/settings/csvInput.js → processCSVData(node) was computing from
node.data
rather than an immutable baseline.
CSV Input Bug Fix
- Preserve the raw unmodified dataset when the file is loaded.
- Always compute the processed dataset from
node.originalData
in processCSVData() so the operation is idempotent and reversible.
Thanks for learning more about ET1’s CSV Input Node
We appreciate you using ET1’s CSV Input Node, and know if you have any questions… Please contact us.
We would love to hear about your use cases.
Return to ET1 Overview to learn more.