ホームページ > バックエンド開発 > C++ > C# で CSV ファイルの列を配列に効率的に分割するにはどうすればよいですか?

C# で CSV ファイルの列を配列に効率的に分割するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-26 07:06:12
オリジナル
342 人が閲覧しました

How Can I Efficiently Separate CSV File Columns into Arrays in C#?

C# CSV ファイルの列を配列に分割する: 合理化されたアプローチ

このガイドでは、C# を使用して CSV ファイルを解析し、その列を個々の配列に分散する効率的な方法を説明します。

手順:

  1. StreamReader の初期化: まず、CSV ファイルへのパスを引数として指定して StreamReader オブジェクトを作成します。

  2. 配列の初期化: 各列のデータを保持する 2 つの空のリスト (List<string>) (listAlistB) を宣言します。 この動的なアプローチにより、さまざまな行数を含む CSV ファイルを処理できます。

  3. 行ごとの処理: while ループを使用して、CSV ファイルの各行を末尾 (reader.EndOfStream) に達するまで繰り返します。

  4. データ抽出: ループ内で、ReadLine() は 1 行を取得します。次に、Split(';') メソッドは、セミコロン区切り文字に基づいて行を文字列の配列に分割します (CSV の区切り文字に応じて調整します)。

  5. Array Population: 抽出された値をそれぞれのリストに割り当てます。 listA.Add(values[0]) は最初の要素 (列 1) を listA に追加し、listB.Add(values[1]) は 2 番目の要素 (列 2) を listB に追加します。

  6. ループ継続: ループはすべての行が処理されるまで継続します。

コード例:

<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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート