C# で CSV ファイルを読み込み、その値を配列に格納する

Minahil Noor 2023年10月12日
  1. CSV ファイルを読み取り、その値を StreamReader クラスを使用して配列に格納する C# プログラム
  2. CSV ファイルを読み取り、その値を Microsoft.VisualBasic.FileIO ライブラリの TextFieldParser を使用して Array に格納する C# プログラム
C# で CSV ファイルを読み込み、その値を配列に格納する

CSV ファイルはカンマ区切りのファイルで、整理された方法でデータを保存するために使用されます。通常、データは表形式で格納されます。ほとんどの企業では、データを CSV ファイルに保存しています。

C# では、CSV ファイルに対してさまざまな操作を実行できます。CSV ファイルの読み取り、書き込み、変更を行うことができます。この記事では、CSV ファイルを読み取り、そのデータを配列に保存するさまざまな方法に焦点を当てています。

CSV ファイルを読み取り、その値を StreamReader クラスを使用して配列に格納する C# プログラム

C# では、StreamReader クラスを使用してファイルを処理します。それは、さまざまな種類のファイルを開いたり、読んだり、他の機能を実行するのに役立ちます。このクラスを使用しながら、CSV ファイルに対してさまざまな操作を実行することもできます。

OpenRead() メソッドは CSV ファイルを開くために使用され、ReadLine() メソッドはその内容を読み取るために使用されます。

OpenRead() および ReadLine() メソッドを使用する正しい構文は次のとおりです。

// OpenRead() Syntax
File.OpenRead(@"FilePath");
// ReadLine() Syntax
StreamReaderObject.ReadLine();

コード例:

using System.IO;
using System.Collections.Generic;
using System;

class ReadingCSV {
  static void Main(string[] args) {
    var reader = new StreamReader(File.OpenRead(@"D:\New folder\Data.csv"));
    List<string> listA = new List<string>();
    List<string> listB = new List<string>();
    while (!reader.EndOfStream) {
      var line = reader.ReadLine();
      var values = line.Split(';');

      listA.Add(values[0]);
      listB.Add(values[1]);
      foreach (var coloumn1 in listA) {
        Console.WriteLine(coloumn1);
      }
      foreach (var coloumn2 in listA) {
        Console.WriteLine(coloumn2);
      }
    }
  }
}

出力:

//Contents of the CSV file

CSV ファイルを読み取り、その値を Microsoft.VisualBasic.FileIO ライブラリの TextFieldParser を使用して Array に格納する C# プログラム

C# には、その内容に基づいてファイルを解析する File Parser があります。TextFieldParserMicrosoft.VisualBasic.FileIO ライブラリで定義されています。以下のプログラムを実行する前に、Microsoft.VisualBasic への参照を追加することを忘れないでください。

このパーサーを使用するための正しい構文は次のとおりです。

TextFieldParser ParserName = new TextFieldParser(PathString);

コード例:

using System;
using Microsoft.VisualBasic.FileIO;

class ReadingCSV {
  public static void Main() {
    string coloumn1;
    string coloumn2;
    var path = @"D:\New folder\Data.csv";
    using (TextFieldParser csvReader = new TextFieldParser(path)) {
      csvReader.CommentTokens = new string[] { "#" };
      csvReader.SetDelimiters(new string[] { "," });
      csvReader.HasFieldsEnclosedInQuotes = true;

      // Skip the row with the column names
      csvReader.ReadLine();

      while (!csvReader.EndOfData) {
        // Read current line fields, pointer moves to the next line.
        string[] fields = csvReader.ReadFields();
        coloumn1 = fields[0];
        coloumn2 = fields[1];
      }
    }
  }
}

関連記事 - Csharp CSV

関連記事 - Csharp Array