Sample code for 30+ languages & platforms
Delphi DLL Requires Chilkat v9.5.0.89+

CSV Insert Column

See more CSV Examples

Insert a new column into an existing CSV.

Chilkat Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
csv: HCkCsv;
col: Integer;
weightColumn: Integer;

begin
success := False;

csv := CkCsv_Create();

//  Load the following CSV:

//   Name;City;Weight
//   John;Chicago;180
//   Lisa;Denver;120

//  Indicate that the 1st line contains column names.
CkCsv_putHasColumnNames(csv,True);
success := CkCsv_LoadFile(csv,'qa_data/csv/insertColumnTest.csv');

//  We can insert a column before the 1st column.
CkCsv_InsertColumn(csv,0);

Memo1.Lines.Add(CkCsv__saveToString(csv));

//  The CSV now looks like this:

//   ;Name;City;Weight
//   ;John;Chicago;180
//   ;Lisa;Denver;120

//  Set the cells in column 0.

col := 0;
CkCsv_SetColumnName(csv,col,'id');
CkCsv_SetCell(csv,0,col,'100');
CkCsv_SetCell(csv,1,col,'101');

Memo1.Lines.Add(CkCsv__saveToString(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 := CkCsv_GetIndex(csv,'Weight');
Memo1.Lines.Add('Weight Column Index = ' + IntToStr(weightColumn));
CkCsv_InsertColumn(csv,weightColumn);

Memo1.Lines.Add(CkCsv__saveToString(csv));

//  We now have:

//   id;Name;City;;Weight
//   100;John;Chicago;;180
//   101;Lisa;Denver;;120

//  Set the cells in the new column:

CkCsv_SetColumnName(csv,weightColumn,'Height');
CkCsv_SetCell(csv,0,weightColumn,'6'' 2"');
CkCsv_SetCell(csv,1,weightColumn,'5'' 7"');

Memo1.Lines.Add(CkCsv__saveToString(csv));

//  We now have:

//   id;Name;City;Height;Weight
//   100;John;Chicago;"6' 2""";180
//   101;Lisa;Denver;"5' 7""";120

CkCsv_Dispose(csv);