ホームページ >バックエンド開発 >C++ >C#でCOSVファイルをCOSVファイルをCOMAで決定した列で解析するにはどうすればよいですか?

C#でCOSVファイルをCOSVファイルをCOMAで決定した列で解析するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-26 17:11:10879ブラウズ

How Can I Parse a CSV File with Comma-Delimited Columns in C#?

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 を初期化します。 重要なのは、パーサーが引用符で囲まれたフィールドを正しく解釈できるように、HasFieldsEnclosedInQuotestrue に設定されていることです。 区切り文字はカンマに設定されます。

while ループは各行を反復処理し、ReadFields() は行をフィールドの配列に分割します。 次に、コードは各フィールドをコンソールに出力します。 using ステートメントにより、適切なリソースのクリーンアップが保証されます。

このメソッドは、CSV データを解析する信頼性の高い方法を提供し、引用符内にカンマが埋め込まれている列の値を正確に保持します。

以上がC#でCOSVファイルをCOSVファイルをCOMAで決定した列で解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。