Delphi DLL Requires Chilkat v9.5.0.89+
Delphi DLL
CSV Insert Column
See more CSV Examples
Insert a new column into an existing CSV.Chilkat Delphi DLL Downloads
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);