Sample code for 30+ languages & platforms
PureBasic

CSV Enable Quotes

Explains the EnableQuotes property for the CSV class.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkCsv.pb"

Procedure ChilkatExample()

    success.i = 0

    ; The CSV in this example contains this:   test;"123;abc";xyz

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

    ; EnableQuotes is 1 by default, but we'll explicitly set to 1 here:
    CkCsv::setCkEnableQuotes(csv, 1)
    success = CkCsv::ckLoadFile(csv,"qa_data/csv/enableQuotes.csv")

    ; Show row 0, column 0
    Debug CkCsv::ckGetCell(csv,0,0)
    ; Show row 0, column 1
    Debug CkCsv::ckGetCell(csv,0,1)
    ; Show row 0, column 2
    Debug CkCsv::ckGetCell(csv,0,2)

    ; Output is: 
    ;  test
    ;  123;abc
    ;  xyz

    ; -------------------------------------------
    ; Turn off EnableQuotes and see what happens:

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

    CkCsv::setCkEnableQuotes(csv2, 0)

    success = CkCsv::ckLoadFile(csv2,"qa_data/csv/enableQuotes.csv")

    Debug CkCsv::ckGetCell(csv2,0,0)
    Debug CkCsv::ckGetCell(csv2,0,1)
    Debug CkCsv::ckGetCell(csv2,0,2)
    Debug CkCsv::ckGetCell(csv2,0,3)

    ; Output is:

    ;  test
    ;  "123
    ;  abc"
    ;  xyz


    CkCsv::ckDispose(csv)
    CkCsv::ckDispose(csv2)


    ProcedureReturn
EndProcedure