Transforming Single Row of Data from CSV into Multiple Rows

I have a delimited text file that has data like this:


When i import it it all goes into a single row with multiple columns. Essentially, every time “;1;” i would like to start a new row. So for example, from the data above the columns would be populated according to the semicolon separator but i’d like the data in rows like this:
Row 1 1W;12;20200603;13;0.300;13;277.39;13;144.809;1;
Row 2 1W;12;20200603;13;0.400;13;369.86;13;129.015;1;
Row 3 1W;12;20200603;13;0.600;13;554.79;13;102.671;1;, etc.

is this possible? can i use the “;1;” as a separator?


I think i may have answered my own question as i wrote this. i can create a custom separator of “;1;”.

Yes, you can specify a custom separator up to 8 characters long. See the sample project below with the delimited text you provided split into 3 rows.

custom-delimiter.morph (1.9 KB)

Note that delimiter is removed once you split the text. So it has to be appended again, if necessary.

Alternatively, you can replace “;1;” with a common delimiter (e.g. pipe, “|”) using the replace() function, and then split the text using the pipe as delimiter.