Как экспортировать данные в CSV-файл из консольного приложения C #? - PullRequest
0 голосов
/ 09 января 2019

Я хочу извлечь значения переменной в CSV-файле из консольного приложения c #.

Переменная имеет неограниченные значения, как это значение позиции из потока, когда поток заканчивается, значения переменных также заканчиваются. Я видел много примеров в Интернете, но ни один из них не отвечает на мой вопрос.

Вот что я нашел.

var file = @"C:\SavedBTData.csv";

using (var stream = File.AppendText(file))
{
    for (int i = 0; i < ToBT.Count(); i++)
    {
        BTdata[i] = ToBT[i].ToString();

    }
    string csvRow = string.Format("{0},{1},{2},{3},{4},{5},{6},{7}", BTdata[0], BTdata[1], BTdata[2], BTdata[3], BTdata[4], BTdata[5], BTdata[6], BTdata[7]);

    stream.WriteLine(csvRow);
}

Но здесь, в строке csvRow line .... Я не знаю, сколько значений я получаю из этой переменной, более того, мне нужно сохранить данные только в 1 столбце.

Любой, у кого есть возможное предложение.

Ответы [ 2 ]

0 голосов
/ 14 января 2019
       var file = @"D:\\awaisFile.csv";
        using (var stream = File.AppendText(file))
        {
            /* initialize elements of array n */
            for (i = 0; i < num1.Count(); i++)
            {
                Console.Write("Enter value of 'num1'");
                Console.WriteLine(i + 1);
                num1[i] = int.Parse(Console.ReadLine());
                temp1[i] = num1[i].ToString();

                Console.Write("Enter value of 'num2'");
                Console.WriteLine(i + 1);
                num2[i] = int.Parse(Console.ReadLine());
                temp2[i] = num2[i].ToString();

                res[i] = multiplyNum(num1[i], num2[i]);

                Console.WriteLine("Element1[{0}] = {1}", i, res[i]);
                temp3[i] = res[i].ToString();

                string csvRow = string.Format("{0},{1},{2}", temp1[i], temp2[i], temp3[i]);

                stream.WriteLine(csvRow);

            }

        }

Я использовал этот способ, и он работал нормально для меня.

0 голосов
/ 09 января 2019

Используйте String.Join метод для объединения всех значений массива:

string csvRow = string.Join(",", BTdata);

Кроме того, вам не нужно преобразовывать все в строку:

string csvRow = string.Join(",", ToBT);
...