Thanks @guyboertje for you quick response..
As per your queries below:
How many different CSV structures do you need to parse?
> There is no limit for CSV structures, at present we have done for 2 but in future we are expecting more, so would like to generalize for all the structures.
Does the filename and/or path contain a clue to the type of CSV structure?
> Yes, filepath can be in one location(we can hard code the path) but filename varies.