How do I get Excel to import a CSV file with commas in some of the content fields?
I just tried a quick test that replicated your problem.
I created a 1 line CSV in Word (which uses smart quotes) as test.csv “123”,“4,5,6” and it opened in Excel as you described.
Try replacing “ and ” with "
Having played with your sample I notice that Excel does not like the spaces between fields
e.g. instead of
"20051", "", "2009 Sep 30 02:53:23", ...
you want
"20051","","2009 Sep 30 02:53:23",...
a decent Regular Expression replacement should be able to handle it with
Find: |("[^"]*",) |
Replace: |\1|
(pipe characters for visual cues only)
Or simply modify the .Net code if you have access to it ;-)
Also, as Arjan pointed out, you may also need to convert the file from UTF-8 to ANSI to prevent cell A1 from containing the BOM and its surrounding qoutes.
I have come across the Catch 22 of ANSI encoded CSV not handling international characters and UTF encoded CSV not being propery handled by Excel; and not found a solution while mainting the CSV. If international character support is required, the XML (or native XLS) formats seem the only way to go—at the cost of simplicity.
This problem has been plaguing me for a number of years. I just discovered the solution and it's alluded to in the answers above but not explicitly spelled out.
It's the space after the comma!
This doesn't import into excel;
HEADER1, HEADER2
"1,000", "2,000"
While
HEADER1,HEADER2
"1,000","2,000"
Works!
You could also try CSVEd which is free.