Problema em ler e guardar dados de um ficheiro CSV

Boa tarde,
Tenho que desenvolver uma função que receba ficheiros em formato *.csv.
No entanto os ficheiros não seguem uma ordem única de disposição da informação.
Alguma ideia de como posso tratar o problema?
Nos links abaixo deixo alguns dos ficheiros com que vou ter de trabalhar.

Obrigado

http://www.divshare.com/download/17930488-283
http://www.divshare.com/download/17930487-966
http://www.divshare.com/download/17930484-1c8