見出し画像

C#でCSVデータを取得する方法


こんにちは、皆さん!今日は、C#でCSVファイルのデータを取得する方法についてご紹介します。CSV(Comma Separated Values)ファイルは、データを保存するためのシンプルで広く使用されている形式です。ここでは、C#を使ってCSVファイルからデータを読み取る基本的な方法を解説します。

必要な環境

まず、以下の環境が必要です:

  • Visual Studio(またはC#が実行できる任意のIDE)

  • .NET Frameworkまたは.NET Core

CSVファイルの準備

今回は、以下のような簡単なCSVファイルを例にします。このファイルを「data.csv」という名前で保存してください。


CSVファイルを読み取るコード

C#でCSVファイルを読み取るには、System.IO名前空間を使用します。以下に、基本的なコード例を示します。



このコードでは、StreamReaderを使用してCSVファイルを1行ずつ読み取り、Splitメソッドでカンマ区切りのデータを分割しています。それぞれのフィールド(Name、Age、City)をコンソールに表示します。

CSVファイルをより簡単に扱うためのライブラリ

手動でCSVファイルを読み取るのは簡単ですが、より高度な処理が必要な場合は、ライブラリを使用することをおすすめします。ここでは、CsvHelperという人気のライブラリを紹介します。

CsvHelperのインストール

Visual Studioのパッケージマネージャーコンソールで以下のコマンドを実行します:



CsvHelperを使ったCSV読み取りのコード

using System.Globalization;
using System.IO;
using CsvHelper;
using CsvHelper.Configuration;

class Program
{
    static void Main()
    {
        string filePath = "data.csv";
        ReadCsvFileWithCsvHelper(filePath);
    }

    static void ReadCsvFileWithCsvHelper(string filePath)
    {
        try
        {
            using (var reader = new StreamReader(filePath))
            using (var csv = new CsvReader(reader, 
       new CsvConfiguration(CultureInfo.InvariantCulture)))
            {
                var records = csv.GetRecords<Person>();

                foreach (var record in records)
                {
                    Console.WriteLine($"Name: {record.Name},
            Age: {record.Age}, City: {record.City}");
                }
            }
        }
        catch (Exception e)
        {
            Console.WriteLine($"An error occurred: {e.Message}");
        }
    }
}

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

このコードでは、CsvHelperを使用してCSVファイルを読み取り、Personクラスのインスタンスにマッピングしています。これにより、CSVデータを簡単に操作できます。


C#でCSVファイルを読み取る方法について説明しました。基本的な方法から、CsvHelperを使ったより簡単な方法まで紹介しました。CSVファイルのデータを扱うのは、データ分析やアプリケーション開発において非常に役立つスキルです。ぜひ試してみてください!

次回もお楽しみに!Happy Coding!

この記事が気に入ったらサポートをしてみませんか?