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中文網其他相關文章!