Sample code for 30+ languages & platforms
PureBasic

Update CSV File

See more CSV Examples

Demonstrates how to read a CSV, update some cells, and save.

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 PureBasic Downloads

PureBasic
IncludeFile "CkCsv.pb"

Procedure ChilkatExample()

    success.i = 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

    csv.i = CkCsv::ckCreate()
    If csv.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Prior to loading the CSV file, indicate that the 1st row
    ; should be treated as column names:
    CkCsv::setCkHasColumnNames(csv, 1)

    ; Load the CSV records from the file:

    success = CkCsv::ckLoadFile(csv,"sample.csv")
    If success <> 1
        Debug CkCsv::ckLastErrorText(csv)
        CkCsv::ckDispose(csv)
        ProcedureReturn
    EndIf

    ; Change "cheese" to "baguette"
    ; ("cheese" is at row=0, column=3
    success = CkCsv::ckSetCell(csv,0,3,"baguette")

    ; Change "blue" to "magenta"
    success = CkCsv::ckSetCell(csv,1,1,"magenta")

    ; Write the updated CSV to a string and display:
    csvDoc.s
    csvDoc = CkCsv::ckSaveToString(csv)
    Debug csvDoc

    ; Save the CSV to a file:
    success = CkCsv::ckSaveFile(csv,"out.csv")
    If success <> 1
        Debug CkCsv::ckLastErrorText(csv)
    EndIf



    CkCsv::ckDispose(csv)


    ProcedureReturn
EndProcedure