[英]writing two lines in a csv file at the same time
我有7个文本框,我想将其值写入csv文件。 另外,我想为此信息写一个标签。 最终的csv文件应如下所示:
label1----label2----label3----label7
value1----value2----value3----value7
这是我的代码:
public void CreatingCsvFiles()
{
string filePath = "C:\\Users\\User\\Desktop\\project2\\" + "filename.csv";
if (!File.Exists(filePath))
{
File.Create(filePath).Close();
}
string delimiter = ",";
string[][] output = new string[][]{
new string[]{this.labels}
};
int length = output.GetLength(0);
StringBuilder sb = new StringBuilder();
for (int index = 0; index < length; index++)
sb.AppendLine(string.Join(delimiter, output[index]));
File.AppendAllText(filePath, sb.ToString());
}
如您所见,我使用了new string[] {this.labels}
,其中this.labels是csv格式的字符串。
一切正常,但问题是我不知道是谁将this.values
写入同一csv文件。
其中this.values
是csv格式的字符串。
在File.AppendAllText
之前添加sb.AppendLine(this.values)
。
请注意,您要做的是在StringBuilder对象中创建文本行,然后将它们全部一次写入文件中,另一种常见的替代方法是分别写入每一行。
如果您需要显示和编写它,StringBuilder方法可能会很有用,但是如果您开始处理大量文本,则要小心,因为StringBuilder对象也会增长。
要写每行,那么以下内容将帮助您入门:
using(StreamWriter sw = new StreamWriter(@"C:\temp\csvfile.csv",true))
{
sw.WriteLine("HEADER");
sw.WriteLine("======");
sw.WriteLine("1,2,3,4");
}
如果this.labels
和this.values
已经是csv格式的字符串,那么您可以简单地将它们添加到文件中:
using (StreamWriter w = File.AppendText("filename.csv"))
{
w.WriteLine(this.labels);
w.WriteLine(this.values);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.