TextDistil will do this for you. (Disclosure - I'm the author). Assuming that you want to generate multiple rows, each of the 8 columns you've described, the easiest way to do it is:
Note that you should not include the quotes when pasting patterns into TextDistil
- Cut and paste the lines from your example into the input window
- Use CTRL-N to add a 'replace text' recipe with match of "financial data as at" to clean up the column values
- Add an "insert text at beginning of line" to insert "!" before all lines starting with "Other major". This step is only done to make the next one easier.
- Add a "join lines after" recipe with match of "^[^!]". The first '^' matches the start of a line and the section inside the brackets matches anything that isn't an exclamation mark. The net effect is that this pattern matches all the lines that don't start with an exclamation mark. Since this is a 'join lines after' operation, all the lines that match the pattern will have the following line joined to them. So all the lines for a single record are now joined into one.
- Add a 'select text (matching only)' recipe with matching expression "\d[\d./]*" and "," as the joining string. This matches all the numbers and dates you have.
- At this stage you should see only two lines in the output window, each of which correspond to a record.
5/8/2014,76991.16,0,0,522078.9,0,0,0,0,0,0,0,0,0,0,0,0,0 5/7/2014,98357.49,0,475,483157.7,0,0,0,237451.43,157177.87,157057.31,0,0,0,0,0,0,0
You may find that the 'all' view is useful - it allows you to see both the final output and the input and output of the recipe you are adding.