There is no black magic here -- you need to be able to do it yourself, in order to teach the computer how to do it. Having the criteria that a space may or may not separate a column is not good enough for a person to figure out what is a column. How do you expect your program to magically do it?
Anyway, is there an additional criteria? Something else that you can use to determine what is a column? After all, you seem to feel that it can be done.
How do you determine what spaces are supposed to be used to split columns and which aren't? If you can define that then there is a chance you can write a regex or some other logic to split it. If you can't then you are out of luck.
To me, given the imports you provided, I couldn't tell where one column ends and the next starts.