首页 > 后端开发 > C++ > 如何在C#中高效地将数据逐行写入CSV文件?

如何在C#中高效地将数据逐行写入CSV文件?

Patricia Arquette
发布: 2025-01-23 03:01:09
原创
632 人浏览过

How Can I Efficiently Write Data Row by Row to a CSV File in C#?

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板