なんだかGoodVibes

日々の勉強メモです。

CSV ファイルの読み込み

CSV ファイルの読み込みサンプルです。
2通りの方法を書いてみます。

まずは、for でデータを最後まで読み込む方法。

// CSVファイルパス
var filename = "対象ファイルのパス";
var rowList = new List<string[]>();

var sr = new StreamReader(filename);

for (;;)
{
    if (sr.EndOfStream == true)
    {
        // ファイルの最後まで読み込みが完了したら終了
        // Console.WriteLine("CSV Read End");
        break;
    }

    // 1行を読み込む
    var row = sr.ReadLine();

    // カンマで区切って1行分のデータを配列に格納する
    var rowArray = row.Split(',');

    // 1行分の配列データをリストに格納する
    rowList.Add(rowArray);
}

sr.Close();

次に、while を使う方法。

var filename = "対象ファイルのパス";
var rowList = new List<string[]>();

// 読み込むCSVファイルを開く
using (var sr = new StreamReader(filename))
{
    while (!sr.EndOfStream)
    {
        // 1行を読み込む
        var row = sr.ReadLine();

        // カンマで区切って1行分のデータを配列に格納する
        var rowArray = row.Split(',');

        // 1行分の配列データをリストに格納する
        rowList.Add(rowArray);
    }

    sr.Close();
}

どちらもやっていることは同じですが
どちらの方法も知っている方がいいですね。

中身を表示する際は以下のコード。

foreach (var rowItem in rowList)
{
    foreach (var item in row)
    {
        Console.WriteLine(item)
    }
}