写在下一栏的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
}
}
你不是在写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]);
}
}