C#でヘッダー付きのCSVファイルを解析する 質問する

C#でヘッダー付きのCSVファイルを解析する 質問する

C# で CSV ファイルを解析するためのデフォルト/公式/推奨の方法はありますか? 独自のパーサーを作成したくありません。

また、ODBC/OLE DB を使用してテキスト ドライバー経由で CSV を読み取る例を見たことがありますが、多くの人が「欠点」があるためにこれを推奨していません。これらの欠点とは何でしょうか?

理想的には、最初のレコードをヘッダー/フィールド名として使用し、列名で CSV を読み取ることができる方法を探しています。与えられた回答のいくつかは正しいですが、基本的にファイルをクラスに逆シリアル化するために機能します。

ベストアンサー1

CSV パーサーは、.NET Framework の一部になりました。

ソリューション エクスプローラーでプロジェクトを右クリックし、[追加] > [参照...] に移動してリストにチェックマークを付け、コードの先頭に追加することで、参照を追加しますMicrosoft.VisualBasic.dll(C# では問題なく動作します。名前は気にしないでください)。次のコードが動作するには、両方の手順を実行する必要があります。Microsoft.VisualBasicusing Microsoft.VisualBasic.FileIO;

using (TextFieldParser parser = new TextFieldParser(@"c:\temp\test.csv"))
{
    parser.TextFieldType = FieldType.Delimited;
    parser.SetDelimiters(",");
    while (!parser.EndOfData)
    {
        //Process row
        string[] fields = parser.ReadFields();
        foreach (string field in fields)
        {
            //TODO: Process field
        }
    }
}

ドキュメントはここにあります -TextFieldParser クラス

PS CSVエクスポートが必要な場合は、Csvエクスポート(注: 私は寄稿者の一人です)

おすすめ記事