IRONSOFTWAREHOME
IRONXLの使用

How to Convert CSV File Into List in C#

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

この初心者向けチュートリアルでは、CSVファイルを読み込む方法をC#のリストに変換するためにIronXLライブラリを使用する方法を見ていきます。 CSVファイルはデータを保存し、システムやアプリケーション間で転送する非常に一般的な方法であるため、これはどのプログラミング言語でも知っておくべき基本的なことの一つです。 プロジェクトのセットアップから効果的にCSVファイルを解析する方法まで、すべてをカバーします。

How to Convert CSV File into List in C#

  1. Visual StudioでC#コンソールプロジェクトを作成します。
  2. NuGetパッケージマネージャーを使用してC# CSVライブラリをインストールします。
  3. WorkBook.LoadCSV メソッドを使用してCSVファイルを読み込みます。
  4. ファイルからデータ値を読み込み、リストを構築します。
  5. コンソールにリストを表示します。

プロジェクトのセットアップ

ステップ1: 新しいC#プロジェクトを作成する

  1. **Visual Studio を開く:**コンピューターで Visual Studio を起動します。 2.新しいプロジェクトを作成する: "新しいプロジェクトを作成"をクリックします。 これにより、プロジェクトの種類を選択できるウィンドウが開きます。 3.**プロジェクトタイプの選択:**シンプルにするために、プロジェクトタイプとして"コンソールアプリ (.NET Core)"を選択してください。 4.プロジェクトに名前を付けます:プロジェクトにCSVFileReader という名前を付けます。 5.**保存場所の選択:**このプロジェクトを保存するのに適したデバイス上の場所を選択してください。 6.プロジェクトを生成する: "作成"をクリックして、新しい C# プロジェクトを初期化します。

ステップ2: IronXLライブラリのインストール

  1. NuGetパッケージ マネージャーを開きます。Visual Studio で、"ツール"メニューを開き、"NuGetパッケージ マネージャー"を選択して、"ソリューションのNuGetパッケージを管理する..."を選択します。

  2. IronXLを検索する: "参照"タブをクリックし、"IronXL"を検索します。

    C#でCSVファイルをリストに変換する方法: 図1 - IronXL

  3. **IronXLをインストールする:**検索結果からIronXLパッケージを見つけて選択し、"インストール"をクリックします。ライセンス契約に同意し、変更内容を確認してください。 4.**インストールを確認する:**インストール後、プロジェクトの参照にIronXLが参照されていることを確認してください。

CSVFileReaderプロジェクトはIronXLライブラリでセットアップされており、これでCSVファイルをC#で読み込んで処理を始める準備が整いました。 このセットアップは、チュートリアルの後半部分で行うCSV読取り作業の基礎を形成しています。

Parsing and Processing CSV Files in C#

プロジェクトのセットアップが完了し、IronXLライブラリがインストールされたので、CSVファイルの解析と処理に焦点を当てましょう。 私たちは、CSVFileReaderプロジェクトで自動生成されるProgram.csファイル内で作業します。

ステップ1: ファイルパスの指定

データを読み取る前に、CSVファイルの場所を知る必要があります。 ファイルパスを保存するためにMainメソッドに変数を定義してください。

string filename = "csvfile.csv"; // Replace with your actual file path

ステップ2: CSVファイルのロード

IronXLは、CSVファイルの読み込みを簡単にします。WorkBookオブジェクトに読み込みます。

var csv = WorkBook.LoadCSV(filename);

ステップ3: データ構造の定義

CSVファイル内のデータ構造を表すクラスを作成してください。たとえば、CSVに人物情報が含まれている場合は、次のようなPersonクラスを定義します。

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

ステップ4: CSVデータの解析

このステップでは、CSVファイルを解析し、データを含むList<Person>を生成します。 IronXLを使用してCSVの読み取りを行い、ヘッダや潜在的空行を考慮してCSVの各行または列を正確に処理するポイントが肝要です。 コードの詳細な内訳は以下の通りです。

List<Person> people = new List<Person>();
bool isFirstRow = true; // Add a flag to check for the first row
foreach (var row in csv.WorkSheets[0].Rows)
{
    if (isFirstRow)
    {
        isFirstRow = false; // Set the flag to false after skipping the first row
        continue;
    }
    if (row.IsEmpty) continue; // Skip empty rows
    var cells = row.ToArray();
    var person = new Person()
    {
        Name = cells[0].StringValue,
        Age = int.Parse(cells[1].StringValue) // Ensure this is a numeric value
    };
    people.Add(person);
}

この解析プロセスでは、まず解析されたデータを保存するためのisFirstRowを使用します。 foreachループは、CSVファイルの各行を反復します。最初の反復中にヘッダー行が識別され、スキップされることで、データ行のみが処理されます。 次に、row.IsEmptyを使用して各行が空でないことを確認します。 これが空行でのパースエラーを避けるための重要なステップです。

各データ行について、行をセルの配列(Personオブジェクトを作成します。 Age文字列を整数に変換するなど、データ型を正しく解析し変換することが非常に重要です。 解析されたpeopleリストに追加されます。このアプローチは、数値列における非数値文字列や予期しない空行などの潜在的な問題を効果的に処理し、正確なデータ行のみが処理および保存されることを保証します。

ステップ5: データの表示

CSVデータをList<Person>に解析した後、次に重要なステップはデータの表示と検証です。 これにより、解析が成功したことを確認できるだけでなく、出力を観察し、簡単なデータ品質チェックを実施することもできます。 このように実装できます。

foreach (var person in people)
{
    Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}

以下が完全なProgram.csコードです。

using IronXL;
using System;
using System.Collections.Generic;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main(string[] args)
{
    string filename = @"C:\Users\tayya\Downloads\sample_data.csv"; // Replace with your actual file path
    var csv = WorkBook.LoadCSV(filename);
    List<Person> people = new List<Person>();
    bool isFirstRow = true; // Add a flag to check for the first row
    foreach (var row in csv.WorkSheets[0].Rows)
    {
        if (isFirstRow)
        {
            isFirstRow = false; // Set the flag to false after skipping the first row
            continue;
        }
        if (row.IsEmpty) continue; // Skip empty rows
        var cells = row.ToArray();
        var person = new Person()
        {
            Name = cells[0].StringValue,
            Age = int.Parse(cells[1].StringValue) // Ensure this is a numeric value
        };
        people.Add(person);
    }
    foreach (var person in people)
    {
        Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
    }
}

コードの出力

ファイルを実行すると、リストのデータがコンソールに表示されます。

C#でCSVファイルをリストに変換する方法: 図2 - リスト出力

異なるデータ型の扱い

CSVファイルで種々のデータ型を扱う際には、各データ列の特定の型にパースロジックを合わせることが重要です。 Convert.ToInt32を使用して文字列から整数に変換する必要があります。 これは型の不一致エラーを避けるために必須です。

日付のようなより複雑なデータ型の場合、DateTimeオブジェクトに変換します。 CSVファイルで使用される日付形式を認識し、コード内で期待される形式と一致させることが重要です。 一貫しない日付形式は、パースエラーやデータの誤った解釈を引き起こす可能性があります。

結論

IronXLを使ってC#でCSVファイルのデータを読み取って解析し表示する方法を学びました。 このアプローチをさまざまなデータ構造やファイル形式に適用することができます。 これは、C#を主言語として選ぶ開発者にとって、広く役立つスキルを表します。

IronXLはその機能を体験するための無料トライアルをユーザーに提供しています。 トライアル期間が終了すると、IronXLのライセンスは$999から始まる価格で開始されます。

例外処理や端境条件の扱いは、特に異なるデータ型の管理や大規模ファイルの使用において、より堅牢なコードを書くために取り組む必要があることを忘れないでください。 さらにIronXLの機能を試して、C#でのデータ処理を強化してください。 コーディングを楽しんでください!

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。