C#中写入CSV文件多行数据的方法
在C#中向CSV文件写入多行数据时,经常会遇到只保留最后一行数据的问题。这是因为代码在每次写入新行时都会覆盖现有数据。
为了解决这个问题,可以使用StringBuilder
属性,如下所示:
<code class="language-csharp">var csv = new StringBuilder(); // 循环遍历每一行数据 foreach (var row in dataRows) { var first = row[0].ToString(); var second = row[1].ToString(); // 将值连接成新的一行 var newLine = $"{first},{second}"; // 将新的一行添加到StringBuilder csv.AppendLine(newLine); } // 将完整的CSV数据写入文件 File.WriteAllText(filePath, csv.ToString());</code>
通过将CSV内容收集到StringBuilder
中,并在处理完所有行后才一次性写入文件,可以确保每一行都追加到文件中,从而生成格式正确的包含多行的CSV文件。
这种方法比手动追加每一行更高效,因为它最大限度地减少了文件写入次数,这对于大型数据集可以显着提高性能。
以上是如何在 C# 中将多行写入 CSV 文件而不覆盖数据?的详细内容。更多信息请关注PHP中文网其他相关文章!