Sample code for 30+ languages & platforms
Visual FoxPro

CSV Special Chars - Comma, Double-Quotes

See more CSV Examples

The Chilkat CSV class/component automatically handles special characters which include double-quotes, and the delimiter character (comma or semicolon).

The Chilkat CSV library/component/class is freeware. The downloads for .NET, C++, Perl, Java, Ruby, and Python contain all of the Chilkat classes, some of which are freeware and some of which require licensing.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loCsv
LOCAL lcCsvDoc

lnSuccess = 0

* This example program loads a file (sample.csv)
* that contains this content:
* 
* year,color,country,food
* 2001,red,France,cheese
* 2005,blue,"United States",hamburger
* 2008,green,Italy,pasta
* 1998,orange,Japan,sushi
* 
* The first row contains the column names.
* This file is available at:
* http://www.chilkatsoft.com/testData/sample.csv

loCsv = CreateObject('Chilkat.Csv')

* Prior to loading the CSV file, indicate that the 1st row
* should be treated as column names:
loCsv.HasColumnNames = 1

* Load the CSV records from the file:

lnSuccess = loCsv.LoadFile("sample.csv")
IF (lnSuccess <> 1) THEN
    ? loCsv.LastErrorText
    RELEASE loCsv
    CANCEL
ENDIF

* A field may contain the delimiter character (in this case
* the delimiter is a comma):
* Change "cheese" to "cheese,baguette"
* ("cheese" is at row=0, column=3
lnSuccess = loCsv.SetCell(0,3,"cheese,baguette")

* A field may also contain double-quotes:
* Change blue to shiny "metallic" blue
lnSuccess = loCsv.SetCell(1,1,'shiny "metallic" blue')

* Write the updated CSV to a string and display:

lcCsvDoc = loCsv.SaveToString()
? lcCsvDoc

* Save the CSV to a file:
lnSuccess = loCsv.SaveFile("out.csv")
IF (lnSuccess <> 1) THEN
    ? loCsv.LastErrorText
ENDIF

* The out.csv contains this:
* year,color,country,food
* 2001,red,France,"cheese,baguette"
* 2005,"shiny ""metallic"" blue","United States",hamburger
* 2008,green,Italy,pasta
* 1998,orange,Japan,sush

RELEASE loCsv