ホームページ >バックエンド開発 >C++ >C# で CSV ファイルにデータを行ごとに効率的に書き込むにはどうすればよいですか?

C# で CSV ファイルにデータを行ごとに効率的に書き込むにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-23 03:01:09594ブラウズ

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

C# で CSV ファイルを 1 行ずつ記述する効果的な方法

C# で CSV ファイルを 1 行ずつ書き込むことは、ファイル 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.WriteAllText() の代わりに File.AppendAllText() を使用できます。

<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 ファイルに 1 行ずつ効率的に書き込み、すべての行をそのまま維持できます。

以上がC# で CSV ファイルにデータを行ごとに効率的に書き込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。