Sample code for 30+ languages & platforms
Delphi DLL

Update CSV File

See more CSV Examples

Demonstrates how to read a CSV, update some cells, and save.

The Chilkat CSV library/component/class is freeware. The downloads for .NET, C++, Perl, Java, Ruby, and Python contain all of the Chilkat classes, some of which are freeware and some of which require licensing.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Csv;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
csv: HCkCsv;
csvDoc: PWideChar;

begin
success := False;

// This example program loads a file (sample.csv)
// that contains this content:
// 
// year,color,country,food
// 2001,red,France,cheese
// 2005,blue,"United States",hamburger
// 2008,green,Italy,pasta
// 1998,orange,Japan,sushi
// 
// The first row contains the column names.
// This file is available at:
// http://www.chilkatsoft.com/testData/sample.csv

csv := CkCsv_Create();

// Prior to loading the CSV file, indicate that the 1st row
// should be treated as column names:
CkCsv_putHasColumnNames(csv,True);

// Load the CSV records from the file:

success := CkCsv_LoadFile(csv,'sample.csv');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkCsv__lastErrorText(csv));
    Exit;
  end;

// Change "cheese" to "baguette"
// ("cheese" is at row=0, column=3
success := CkCsv_SetCell(csv,0,3,'baguette');

// Change "blue" to "magenta"
success := CkCsv_SetCell(csv,1,1,'magenta');

// Write the updated CSV to a string and display:

csvDoc := CkCsv__saveToString(csv);
Memo1.Lines.Add(csvDoc);

// Save the CSV to a file:
success := CkCsv_SaveFile(csv,'out.csv');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkCsv__lastErrorText(csv));
  end;

CkCsv_Dispose(csv);

end;