写在下一栏的csv文件c#

本文关键字:一栏 csv 文件 | 更新日期: 2023-09-27 18:11:41

我有两个列表,每个列表都有不同的数据,我想将列表数据添加到csv文件,我的问题如何在下一列中写入。

两个列表是dl, xl我想把xl写在一列里dl写在另一列里

this my code

using (StreamWriter sw = File.CreateText("list.csv"))
            {
                for (int i = 0; i < dl.Count; i++)
                {
                    // the two list have the same count 
                    sw.WriteLine(dl[i]);
                    sw.WriteLine(xl[i]); // i want to write this in another column 
                }
            }

写在下一栏的csv文件c#

你不是在写Excel文件。您正在编写与Excel兼容的CSV文件。CSV代表"逗号分隔值",这意味着您应该使用逗号作为列分隔符。

所以…改变这个:

sw.WriteLine(dl[i]);
sw.WriteLine(xl[i]); // i want to write this in another column 

:

var line = String.Format("{0},{1}", dl[i], xl[i]);
sw.WriteLine(line);

在其他答案中已经解释过,CSV文件是一种特殊类型的文本文件,其中我们有多条数据记录,每行一行。(类似于RDBMS表中的表行)。现在,每行/行可以有多个数据部分或列或数据(如表行中的数据列),用逗号','分隔。

基本上,CSV文件表示一个数据表。它不是Excel文件,但可以用MS Excel打开并轻松编辑。

一个典型的csv数据文件看起来像

EmployeeId、名称、部门

1,约翰,CSharp

2,埃里克,编译器

因此,要创建一个新的数据行,只需在新行中写入内容。为了标记这些列,你用逗号把它们分开。正如op所要求的,如果dl和xl的每个值都要作为csv文件中的列创建,则应该将它们写在用逗号分隔的一行中。这可以通过将for循环中的代码更改为

来实现。
sw.WriteLine(dl[i] + "," + xl[i]);

这里的+用于连接三个字符串值,但对于更多字符串,甚至对于这个,可以使用

以更简洁的方式完成。
string.Format("{0},{1}", dl[i], xl[i]);

对于想要写两栏的人只需添加;

string.Format("{0};{1}", dl[i], xl[i]);

我发现最简单的方法是:

using (StreamWriter sw = File.CreateText("newfile.csv"))
{
    for (int i = 0; i < threshhld; i++)
    {
        //writing two columns right next to eachother 
        sw.WriteLine(dl[i] + "," + xl[i]);
    }
}