I would suggest the problem is to do with the Text Driver. When a CSV file is read using the Text Driver it determines the data-type for each column based on the first 'x' number of rows it reads, then the remaining data for that column is presumed to be the same.
Your issue is possibly occurring because the first 'x' rows are actually integer data.
The best solution is to create a Schema.ini file as it will tell the driver what the exact column type is.
Refer to following link;
MSDN - Schema.ini File (Text File Driver)[
^]
Place the Schema file in the same directory as the CSV file & you will get an Uncle named Bob.
EDIT: One Schema.ini can be used for multiple files
Kind Regards