Écriture de données dans un fichier CSV en C# : méthode ligne par ligne
En C#, vous pouvez écrire des données dans un fichier CSV ligne par ligne. Supposons que vous deviez écrire plusieurs lignes de données dans un fichier à l'aide d'une boucle. Cependant, vous rencontrez un problème où seule la dernière ligne est écrite et écrase les lignes précédentes.
Pour résoudre ce problème, veuillez suivre ces méthodes :
-
Utilisez StringBuilder : Au lieu d'écrire directement dans le fichier pour chaque ligne, accumulez les données de la ligne dans un StringBuilder. Cela évite les opérations d'écriture inutiles dans le fichier.
-
Formater les lignes : Utilisez le formatage de chaîne pour créer des données de ligne au format ",<seconde valeur>". </Deuxième valeur></Première valeur></li>
<li>
<strong>Ajouter à StringBuilder :</strong> Ajoutez chaque ligne de données formatées à un StringBuilder à l'aide d'AppendLine pour garder une trace de toutes les lignes. </li>
<li>
<strong>Écrivez le fichier en une seule fois :</strong> Une fois la boucle terminée, utilisez File.WriteAllText ou File.AppendAllText pour écrire le contenu de StringBuilder dans le fichier, selon que vous souhaitez écraser ou ajouter à les données de données existantes. </li>
</ol>
<p>En utilisant cette approche, votre code pourrait ressembler à ceci : </p>
<pre class="brush:php;toolbar:false"><code class="language-csharp">StringBuilder csv = new StringBuilder();
// 循环遍历数据行
string first = reader[0].ToString();
string second = image.ToString();
string newLine = $"{first},{second}";
csv.AppendLine(newLine);
// 循环结束后写入文件
File.WriteAllText(filePath, csv.ToString());</code>
En tirant parti de StringBuilder et de l'écriture différée, vous pouvez écrire efficacement toutes les lignes de données dans un fichier CSV sans les écraser.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn