首页 >后端开发 >C++ >如何在 C# 中将多行写入 CSV 文件而不覆盖数据?

如何在 C# 中将多行写入 CSV 文件而不覆盖数据?

DDD
DDD原创
2025-01-23 03:11:09770浏览

How to Write Multiple Rows to a CSV File in C# Without Overwriting Data?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn