C# CSV ファイルの列を配列に分割する: 合理化されたアプローチ
このガイドでは、C# を使用して CSV ファイルを解析し、その列を個々の配列に分散する効率的な方法を説明します。
手順:
StreamReader の初期化: まず、CSV ファイルへのパスを引数として指定して StreamReader
オブジェクトを作成します。
配列の初期化: 各列のデータを保持する 2 つの空のリスト (List<string>
) (listA
と listB
) を宣言します。 この動的なアプローチにより、さまざまな行数を含む CSV ファイルを処理できます。
行ごとの処理: while
ループを使用して、CSV ファイルの各行を末尾 (reader.EndOfStream
) に達するまで繰り返します。
データ抽出: ループ内で、ReadLine()
は 1 行を取得します。次に、Split(';')
メソッドは、セミコロン区切り文字に基づいて行を文字列の配列に分割します (CSV の区切り文字に応じて調整します)。
Array Population: 抽出された値をそれぞれのリストに割り当てます。 listA.Add(values[0])
は最初の要素 (列 1) を listA
に追加し、listB.Add(values[1])
は 2 番目の要素 (列 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>
この拡張された例には、潜在的な例外を防ぐ、2 列未満の行のエラー処理が含まれています。 "C:test.csv"
を CSV ファイルへの実際のパスに置き換えることを忘れないでください。 この改良された方法は、CSV 列を配列に分離するための堅牢かつ効率的なソリューションを提供します。
以上がC# で CSV ファイルの列を配列に効率的に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。