C# CSV 解析でのカンマの効率的な処理
カンマ区切りの列を扱う場合、CSV ファイルの解析が複雑になります。 この記事では、C# の Microsoft.VisualBasic.FileIO.TextFieldParser
クラスを使用した堅牢なソリューションを示します。
TextFieldParser
クラスは、引用符で囲まれたフィールドと引用符で囲まれていないフィールドの両方をインテリジェントに処理することにより、大きな利点を提供します。これにより、列の値内にカンマが含まれている場合でも、正確なデータ抽出が保証されます。
これを実際の例で説明してみましょう:
<code class="language-csharp">using Microsoft.VisualBasic.FileIO; using System.IO; string csvData = "2,1016,7/31/2008 14:22,Geoff Dalgas,6/5/2011 22:21,http://stackoverflow.com,\"Corvallis, OR\",7679,351,81,b437f461b3fd27387c5d8ab47a293d35,34"; using (TextFieldParser parser = new TextFieldParser(new StringReader(csvData))) { parser.HasFieldsEnclosedInQuotes = true; parser.SetDelimiters(","); while (!parser.EndOfData) { string[] fields = parser.ReadFields(); foreach (string field in fields) { Console.WriteLine(field); } } }</code>
このコードは、CSV データを使用して TextFieldParser
を初期化します。 重要なのは、パーサーが引用符で囲まれたフィールドを正しく解釈できるように、HasFieldsEnclosedInQuotes
が true
に設定されていることです。 区切り文字はカンマに設定されます。
while
ループは各行を反復処理し、ReadFields()
は行をフィールドの配列に分割します。 次に、コードは各フィールドをコンソールに出力します。 using
ステートメントにより、適切なリソースのクリーンアップが保証されます。
このメソッドは、CSV データを解析する信頼性の高い方法を提供し、引用符内にカンマが埋め込まれている列の値を正確に保持します。
以上がC#でCOSVファイルをCOSVファイルをCOMAで決定した列で解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。