I am looking for suggestions on how to handle a csv file that is being created, then uploaded by our customers, and that may have a comma in a value, like a company name.
Some of the ideas we are looking at are: quoted Identifiers (value ‘,’ values ‘,’etc) or using a | instead of a comma. The biggest problem is that we have to make it easy, or the customer won’t do it.
As others have said, you need to escape values that include quotes. Here’s a little CSV reader in C♯ that supports quoted values, including embedded quotes and carriage returns.
By the way, this is unit-tested code. I’m posting it now because this question seems to come up a lot and others may not want an entire library when simple CSV support will do.
You can use it as follows:
Here are the classes. Note that you can use the
Csv.Escapefunction to write valid CSV as well.