C#中逐行写入CSV文件的有效方法
在C#中逐行写入CSV文件可以使用文件I/O操作实现。但是,务必考虑具体的规范要求,以确保每一行都正确写入。
最初,通常使用以下技术手动将数据写入CSV文件:
<code class="language-csharp">string csv = string.Format("{0},{1}\n", first, second); File.WriteAllText(filePath, csv);</code>
然而,这种方法会覆盖先前写入的行,导致CSV文件中只保留最后一行。为了正确写入所有行,建议使用StringBuilder对象。
<code class="language-csharp">var csv = new StringBuilder(); // 使用逗号分隔值填充StringBuilder while (reader.Read()) { string first = reader[0].ToString(); string second = image.ToString(); csv.AppendLine($"{first},{second}"); // 使用字符串插值 } // 将整个StringBuilder写入CSV文件 File.WriteAllText(filePath, csv.ToString());</code>
或者,如果您希望保留以前的CSV数据,可以使用File.AppendAllText()代替File.WriteAllText():
<code class="language-csharp">File.AppendAllText(filePath, csv.ToString());</code>
为了提高代码的可读性,C# 6.0引入了字符串插值,允许您编写:
<code class="language-csharp">string newLine = $"{first},{second}";</code>
总之,通过使用StringBuilder和File.WriteAllText()或File.AppendAllText(),您可以有效地逐行将数据写入CSV文件,并保持所有行的完整性。
以上是如何在C#中高效地将数据逐行写入CSV文件?的详细内容。更多信息请关注PHP中文网其他相关文章!