Sample code for 30+ languages & platforms
Go

CSV Set Cell by Index or Name

Demonstrates how to update the value of a CSV cell, or add new cells.

Chilkat Go Downloads

Go
    success := false

    // We have the following CSV...

    // 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

    bCrlf := true
    sb := chilkat.NewStringBuilder()
    sb.AppendLine("permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round",bCrlf)
    sb.AppendLine("lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b",bCrlf)
    sb.AppendLine("mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed",bCrlf)
    sb.AppendLine("flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a",bCrlf)
    sb.AppendLine("infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a",bCrlf)
    sb.AppendLine("gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed",bCrlf)

    csv := chilkat.NewCsv()

    csv.SetHasColumnNames(true)
    success = csv.LoadFromString(*sb.GetAsString())

    // Update the city "Gilbert" to "Tuscon".
    csv.SetCell(3,4,"Tuscon")

    // Add a new row.
    row_idx := csv.NumRows()
    csv.SetCellByName(row_idx,"permalink","yelp")
    csv.SetCellByName(row_idx,"company","Yelp")
    csv.SetCellByName(row_idx,"numEmps","")
    csv.SetCellByName(row_idx,"category","web")
    csv.SetCellByName(row_idx,"city","San Francisco")
    csv.SetCellByName(row_idx,"state","CA")
    csv.SetCellByName(row_idx,"fundedDate","1-Jul-04")
    csv.SetCellByName(row_idx,"raisedAmt","1000000")
    csv.SetCellByName(row_idx,"raisedCurrency","USD")
    csv.SetCellByName(row_idx,"round","a")

    // Show the updated CSV:
    fmt.Println(*csv.SaveToString())

    // Output should be:
    // 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,Tuscon,AZ,1-Oct-07,9000000,USD,a
    // gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed
    // yelp,Yelp,,web,San Francisco,CA,1-Jul-04,1000000,USD,a

    sb.DisposeStringBuilder()
    csv.DisposeCsv()