Hello @WarrenBelz ,
I did a small PoC with a file as shown below which I suppose is in principle similar to your file.

1. Split it by the new line as you do, skip the first line. Use the output array in the 'Select' action. I'm using the uri representation of a new line instead of a variable, but it doesn't matter.

2. in that 'Select' remap all the columns to a custom property, in my case it's Title, Date, Credit
Title is simple, you just split and index it as you do in the update. Item() in this case represents "for each item in the array".
split(item(),';')[0]
Then the date - you can quite easily change date format with the parseDateTime(...) expression as explained e.g. here in more detail. With your formats it might look as below.
formatDateTime(parseDateTime(split(item(),';')[1], 'en-US', 'ddMMyyyy'), 'MMddyyyy')
The last is the credit, again, just split and index. If there's a number it'll take the number, if not it'll be empty.
split(item(),';')[2]

This will convert the contents of the CSV file into a JSON.
3. Now you have a JSON with array of object, you can loop through that array and create the items. Reference each of the properties using the key you defined in the 'Select' in the left column. The condition below should work for the Credit (now called Amount as I called it that way in the 'Select').
if(empty(item()?['Amount']),'0', item()?['Amount'])
Reference all the properties one by one using item()?['propertyName'] to create the item
