Appending to an Existing CSV File

Example
void Main()
{
	var records = new List<Foo>
	{
		new Foo { Id = 1, Name = "one" },
	};

	// Write to a file.
	using (var writer = new StreamWriter("path\\to\\file.csv"))
	using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
	{
		csv.WriteRecords(records);
	}

	records = new List<Foo>
	{
		new Foo { Id = 2, Name = "two" },
	};

	// Append to the file.
	var config = new CsvConfiguration(CultureInfo.InvariantCulture)
	{
		// Don't write the header again.
		HasHeaderRecord = false,
	};
	using (var stream = File.Open("path\\to\\file.csv", FileMode.Append))
	using (var writer = new StreamWriter(stream))
	using (var csv = new CsvWriter(writer, config))
	{
		csv.WriteRecords(records);
	}
}

public class Foo
{
	public int Id { get; set; }
	public string Name { get; set; }
}
Output
Id,Name
1,one
2,two