Sample code for 30+ languages & platforms
DataFlex

CSV Append a Column with Values

See more CSV Examples

Append an additional column and initialize with a value.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Boolean iBCrlf
    Handle hoSb
    Handle hoCsv
    Integer iNumColumns
    Integer iNumRows
    Integer iColumnIdx
    Integer i
    String sTemp1

    Move False To iSuccess

    // First initialize the CSV with content.  

    // permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round
    // lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b
    // mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed
    // flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a
    // infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a
    // gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed

    Move True To iBCrlf
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSb
    If (Not(IsComObjectCreated(hoSb))) Begin
        Send CreateComObject of hoSb
    End
    Get ComAppendLine Of hoSb "permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round" iBCrlf To iSuccess
    Get ComAppendLine Of hoSb "lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b" iBCrlf To iSuccess
    Get ComAppendLine Of hoSb "mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed" iBCrlf To iSuccess
    Get ComAppendLine Of hoSb "flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a" iBCrlf To iSuccess
    Get ComAppendLine Of hoSb "infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a" iBCrlf To iSuccess
    Get ComAppendLine Of hoSb "gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed" iBCrlf To iSuccess

    Get Create (RefClass(cComChilkatCsv)) To hoCsv
    If (Not(IsComObjectCreated(hoCsv))) Begin
        Send CreateComObject of hoCsv
    End

    Set ComHasColumnNames Of hoCsv To True
    Get ComGetAsString Of hoSb To sTemp1
    Get ComLoadFromString Of hoCsv sTemp1 To iSuccess

    // Show the initial CSV:
    Get ComSaveToString Of hoCsv To sTemp1
    Showln sTemp1
    Showln "----"

    // Now let's add a new rightmost column.
    Get ComNumColumns Of hoCsv To iNumColumns
    Get ComNumRows Of hoCsv To iNumRows

    // Set the column name.
    Move iNumColumns To iColumnIdx
    Get ComSetColumnName Of hoCsv iColumnIdx "new_column" To iSuccess

    // Add the column to each row.
    Move 0 To i
    While (i < iNumRows)
        Get ComSetCell Of hoCsv i iColumnIdx "newData" To iSuccess
        Move (i + 1) To i
    Loop

    // Show the updated CSV:
    Get ComSaveToString Of hoCsv To sTemp1
    Showln sTemp1


End_Procedure