Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Writing in an CSV file using C#

I'm looking for a way to write strings in a different cell of a CSV file.

I'm using this program,

    private void button1_Click(object sender, EventArgs e)
    {
        string filePath = @"E:\test.csv";  

        string a = "a";
        string b = "c";
        string c = "d";
        string d = "d";

        File.WriteAllText(filePath, a);
        // how can add the other strings in the next cells ?
    }

What I need here is to write "a" in the first cell, "b" in the second cell, c ..

like image 419
Wassim AZIRAR Avatar asked Mar 03 '26 03:03

Wassim AZIRAR


2 Answers

CSV is a pretty simple file format, especially if you don't need any cells to contain nested commas. CSV means comma-separated values, so you just need a way to construct a string with commas between each cell. This will work, although it is only for a single line:

File.WriteAllText(filePath, String.Join(",", a, b, c, d));
like image 104
Justin Avatar answered Mar 04 '26 17:03

Justin


CSV is absolutely NOT a SIMPLE file format, it is a sufficiently elaborate format that is able to encompass almost any kind of data regardless of shape or size.

The CSV format is capable of dealing with optional parameters vs non optional, data with or without line breaks, and should be able to work with or without field escaping characters in any field without line breaks and is required to have field escaping characters in fields with line breaks.

You should not ever work with CSV files by hand, you should utilize FileHelpers to work with CSV files.

At this point I no longer use FileHelpers as my goto CSV parsing library I use CsvHelper from Josh Close.

like image 31
Chris Marisic Avatar answered Mar 04 '26 17:03

Chris Marisic



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!