Запись в файл CSV с использованием C # - PullRequest
3 голосов
/ 05 мая 2011

Я ищу способ записи строк в другую ячейку файла CSV.

Я использую эту программу,

    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 ?
    }

Здесь мне нужно написать «a» в первой ячейке, «b» во второй, c ..

Ответы [ 3 ]

10 голосов
/ 05 мая 2011

CSV - довольно простой формат файла, особенно если вам не нужны ячейки, содержащие вложенные запятые. CSV означает значения, разделенные запятыми , поэтому вам просто нужен способ создать строку с запятыми между каждой ячейкой. Это будет работать, хотя это только для одной строки:

File.WriteAllText(filePath, String.Join(",", a, b, c, d));
3 голосов
/ 05 мая 2011

CSV - абсолютно НЕ ПРОСТОЙ формат файла, это достаточно сложный формат, который может охватывать практически любые данные независимо от формы и размера.

Формат CSV может работать с дополнительными параметрамиПо сравнению с необязательными, данные с или без разрывов строк и должны иметь возможность работать с или без символов экранирования полей в любом поле без разрывов строк и должны иметь экранирующие символы полей в полях с разрывами строк.

Выникогда не должен работать с файлами CSV вручную, вы должны использовать FileHelpers для работы с файлами CSV.

На данный момент я больше не использую FileHelpers в качестве библиотеки разбора goto CSV, которую я использую CsvHelper от Джоша Клоуз.

0 голосов
/ 05 мая 2011

Если есть только 4 значения и одна строка? (Что я полагаю, это не так?)

string csv = string.Format("{0},{1},{2},{3}\n", a,b,c,d);
File.WriteAllText(filePath, csv);

Если данные основаны на какой-либо коллекции, дайте больше информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...