CSVs are all text so your errors imply that there are type conversion errors during the load. Usually this is due to the fact that Tableau inferred the type from a combination of the column names and/or looking at the data in the first few thousand rows. This might imply that the data needs some preprocessing to cleanse the data. Are you sure the data is clean? Sometimes embedded quotes and delimiters can throw off a data load. If your data is clean and you really do want the column to be text when it looks like a date or a number then the solution might be different.
Thanks Robin for the response. Take id columns as an example, this column should be a string type. The first few thousands rows are pure number (12 digit number) but I do have lots of strings (number + letters) in later part of the file. If tableau set this column as number, I will lose these strings after extraction.