In the past, I have discussed my extensive use of the CSVHelper library, including as recently as yesterday, where I talked about “Changing the CSV Delimiter with CSVHelper”.

In the example, the generated file was this:

Firstname Lastname DateOfBirth
Vergie Nolan 12/29/20
Claud Bartell 3/1/91
Louisa Frami 11/21/09
Minerva Corkery 9/13/16
Albina Ullrich 1/9/77
Damaris Carroll 8/30/11
Tatyana Grant 6/2/08
Brook Halvorson 3/26/15
Veda Breitenberg 5/4/83
Antonina Kunze 5/26/80

And the actual raw text looked like this:

Firstname,Lastname,DateOfBirth
Vergie,Nolan,12/29/2020
Claud,Bartell,03/01/1991
Louisa,Frami,11/21/2009
Minerva,Corkery,09/13/2016
Albina,Ullrich,01/09/1977
Damaris,Carroll,08/30/2011
Tatyana,Grant,06/02/2008
Brook,Halvorson,03/26/2015
Veda,Breitenberg,05/04/1983
Antonina,Kunze,05/26/1980

During one run with some sample data, I got this result:

Firstname Lastname DateOfBirth
Moises Schumm 2/19/15
Keara DuBuque 9/4/04
Susie Kihn 8/11/25
Doris Greenholt 2/6/00
Lora Kovacek 11/4/25
Alexander Stoltenberg 7/3/26
Marianna Haley 7/31/17
Rosendo Zemlak 5/13/78
Maximus Leffler 6/8/23
Marshall Lockman 10/15/80

Which looks perfectly in order.

However, when I examined the raw text –

Firstname,Lastname,DateOfBirth
"Moises",Schumm,02/19/2015
"Keara",DuBuque,09/04/2004
"Susie",Kihn,08/11/2025
"Doris",Greenholt,02/06/2000
"Lora",Kovacek,11/04/2025
"Alexander",Stoltenberg,07/03/2026
"Marianna",Haley,07/31/2017
" Rosendo",Zemlak,05/13/1978
"Maximus",Leffler,06/08/2023
"Marshall",Lockman,10/15/1980

Notice that now there are double quotes around the Firstname.

The culprit was not hard to spot:

" Rosendo",Zemlak,05/13/1978

There is a leading space before Rosendo.

In such situations, the library double quotes the field.

In fact, a space appearing anywhere in the data triggers this behavior.

You will also get this behaviour if there is a comma in the data, e.g. it is not a delimiter in this context.

This is why you should not attempt to manually read and write CSV files. It is hard. You can read the details in the relevant RFC, 4180.

TLDR

Double spaces appearing in delimited data is a defensive mechanism to ensure the sanctity of the data in the CSV.

The code is in my GitHub.

Happy hacking!