PureBasic
PureBasic
CSV Insert Column
See more CSV Examples
Insert a new column into an existing CSV.Note: This example requires Chilkat v9.5.0.89 or greater because the InsertColumn method was added in v9.5.0.89.
Chilkat PureBasic Downloads
IncludeFile "CkCsv.pb"
Procedure ChilkatExample()
success.i = 0
csv.i = CkCsv::ckCreate()
If csv.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Load the following CSV:
; Name;City;Weight
; John;Chicago;180
; Lisa;Denver;120
; Indicate that the 1st line contains column names.
CkCsv::setCkHasColumnNames(csv, 1)
success = CkCsv::ckLoadFile(csv,"qa_data/csv/insertColumnTest.csv")
; We can insert a column before the 1st column.
CkCsv::ckInsertColumn(csv,0)
Debug CkCsv::ckSaveToString(csv)
; The CSV now looks like this:
; ;Name;City;Weight
; ;John;Chicago;180
; ;Lisa;Denver;120
; Set the cells in column 0.
col.i = 0
CkCsv::ckSetColumnName(csv,col,"id")
CkCsv::ckSetCell(csv,0,col,"100")
CkCsv::ckSetCell(csv,1,col,"101")
Debug CkCsv::ckSaveToString(csv)
; We now have:
; id;Name;City;Weight
; 100;John;Chicago;180
; 101;Lisa;Denver;120
; Insert a new column between City and Weight
; In other words, add a new column before the Weight column.
weightColumn.i = CkCsv::ckGetIndex(csv,"Weight")
Debug "Weight Column Index = " + Str(weightColumn)
CkCsv::ckInsertColumn(csv,weightColumn)
Debug CkCsv::ckSaveToString(csv)
; We now have:
; id;Name;City;;Weight
; 100;John;Chicago;;180
; 101;Lisa;Denver;;120
; Set the cells in the new column:
CkCsv::ckSetColumnName(csv,weightColumn,"Height")
CkCsv::ckSetCell(csv,0,weightColumn,"6' 2" + Chr(34))
CkCsv::ckSetCell(csv,1,weightColumn,"5' 7" + Chr(34))
Debug CkCsv::ckSaveToString(csv)
; We now have:
; id;Name;City;Height;Weight
; 100;John;Chicago;"6' 2""";180
; 101;Lisa;Denver;"5' 7""";120
CkCsv::ckDispose(csv)
ProcedureReturn
EndProcedure