If you have varying contents, then CSV is not the optimum data format as it relies on fixed positions for data.
So, e.g. it expects data for TRACK always to be in the 3rd section.
But if you put artist data into the 3rd section then this would still be stored in TRACK.
The only way out of this would be to use some kind of xml structure which then would be exported into a kind of CSV file but with just 2 sections:
- the filename to indicate to which file the data belongs and
- the xml part
The xml part has data like <artist>Beatles</artist><track>1</track><title>Let it be</title>
And this whole string gets imported into a user-defined field e.g. XMLDATA.
Once in the field XMLDATA you split it with just 1 action group that contains a number of actions, one for each field to be filled, e.g.
Format value for ARTIST
Format string: %artist%\\$regexp(%XMLDATA%,'.*<artist>(.*)</artist>.*,$1)
which would extract the new data from the XML structure and add that data as (new) field to ARTIST.
You would have to create similar actions for all the other fields - but the benefit would be that you have to add the action only once to the action group and from them on you can import any amount of fields from the text file without bothering about the position of each section.