C#でCSVを読み取る方法

Microsoft.VisualBasic.FileIO名前空間に含まれるTextFieldParserクラスを使用すると、C#でCSVファイルを簡単に読み取ることができます。

using Microsoft.VisualBasic.FileIO;

class Program {
    static void Main() {
        string filePath = "C:\\csv\\001.csv";
        using (TextFieldParser parser = new TextFieldParser(filePath)) {
            parser.SetDelimiters(","); // 区切り文字を設定
            parser.HasFieldsEnclosedInQuotes = true; // 引用符で囲まれたフィールドを処理

            // ヘッダ行を読み飛ばす処理
            if (!parser.EndOfData) {
                parser.ReadLine();
            }

            while (!parser.EndOfData) {
                string[]? fields = parser.ReadFields();
                if (fields != null) {
                    Console.WriteLine(string.Join(", ", fields)); // 各フィールドを出力
                }
            }
        }
    }
}

ヘッダ行が無い場合は、ヘッダ行を読み飛ばす処理は不要です。また、ヘッダ行を読み飛ばさずに列名として処理することもできます。

このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です