C# CSV 檔案列分隔為陣列:一種簡化的方法
本指南示範了一種使用 C# 解析 CSV 檔案並將其列指派到單獨數組中的有效方法。
程序:
StreamReader 初始化: 先建立一個 StreamReader
對象,提供 CSV 檔案的路徑作為參數。
陣列初始化: 宣告兩個空列表 (List<string>
) — listA
和 listB
— 來儲存每列的資料。 這種動態方法允許處理具有不同行數的 CSV 檔案。
逐行處理: 使用 while
循環迭代 CSV 檔案的每一行,直到到達結尾 (reader.EndOfStream
)。
資料擷取: 在循環內,ReadLine()
擷取單行。然後,Split(';')
方法根據分號分隔符號將該行劃分為字串陣列(根據 CSV 分隔符號的需要進行調整)。
陣列填色: 將擷取的值指派到各自的清單。 listA.Add(values[0])
將第一個元素(第 1 列)加入 listA
,listB.Add(values[1])
將第二個元素(第 2 列)加入 listB
。
循環繼續:循環繼續,直到處理完所有行。
程式碼範例:
<code class="language-csharp">using System.IO; using System.Collections.Generic; public class CsvParser { public static void Main(string[] args) { string filePath = @"C:\test.csv"; // Replace with your file path using (var reader = new StreamReader(filePath)) { List<string> listA = new List<string>(); List<string> listB = new List<string>(); while (!reader.EndOfStream) { string line = reader.ReadLine(); string[] values = line.Split(';'); if (values.Length >= 2) //Error handling for lines with less than 2 columns. { listA.Add(values[0]); listB.Add(values[1]); } else { Console.WriteLine($"Skipping line: {line} (Insufficient columns)"); } } //Further processing or output of listA and listB can be added here. Console.WriteLine("List A: " + string.Join(", ", listA)); Console.WriteLine("List B: " + string.Join(", ", listB)); } } }</code>
這個增強的範例包括對少於兩列的行的錯誤處理,以防止潛在的異常。請記得將 "C:test.csv"
替換為 CSV 檔案的實際路徑。 這種改進的方法為將 CSV 列分離為數組提供了強大且高效的解決方案。
以上是如何在 C# 中有效地將 CSV 檔案列分成陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!