Sample code for 30+ languages & platforms
Swift

CSV Set Column Name

Demonstrates how to set the name of a column in a CSV.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = 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

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

    let csv = CkoCsv()!

    csv.hasColumnNames = true
    success = csv.load(fromString: sb.getAsString())

    // Get each column name..
    var numCols: Int = csv.numColumns.intValue
    var i: Int = 0
    while i < numCols {
        print("\(csv.getColumnName(index: i)!)")
        i = i + 1
    }

    print("---")

    // Change the "numEmps" column name to "employeeCount"
    success = csv.setColumnName(index: 2, columnName: "employeeCount")

    numCols = csv.numColumns.intValue
    i = 0
    while i < numCols {
        print("\(csv.getColumnName(index: i)!)")
        i = i + 1
    }

    // Use the updated column name...
    print("---")
    print("\(csv.getCell(byName: 3, columnName: "employeeCount")!)")

    // Output should be:

    // permalink
    // company
    // numEmps
    // category
    // city
    // state
    // fundedDate
    // raisedAmt
    // raisedCurrency
    // round
    // ---
    // permalink
    // company
    // employeeCount
    // category
    // city
    // state
    // fundedDate
    // raisedAmt
    // raisedCurrency
    // round
    // ---
    // 105

}