C# で CSV ファイルを解析するためのデフォルト/公式/推奨の方法はありますか? 独自のパーサーを作成したくありません。
また、ODBC/OLE DB を使用してテキスト ドライバー経由で CSV を読み取る例を見たことがありますが、多くの人が「欠点」があるためにこれを推奨していません。これらの欠点とは何でしょうか?
理想的には、最初のレコードをヘッダー/フィールド名として使用し、列名で CSV を読み取ることができる方法を探しています。与えられた回答のいくつかは正しいですが、基本的にファイルをクラスに逆シリアル化するために機能します。
ベストアンサー1
CSV パーサーは、.NET Framework の一部になりました。
ソリューション エクスプローラーでプロジェクトを右クリックし、[追加] > [参照...] に移動してリストにチェックマークを付け、コードの先頭に追加することで、参照を追加しますMicrosoft.VisualBasic.dll
(C# では問題なく動作します。名前は気にしないでください)。次のコードが動作するには、両方の手順を実行する必要があります。Microsoft.VisualBasic
using 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エクスポート(注: 私は寄稿者の一人です)