Maison > développement back-end > C++ > Comment analyser des fichiers CSV avec des champs délimités par des virgules entre guillemets à l'aide de C# ?

Comment analyser des fichiers CSV avec des champs délimités par des virgules entre guillemets à l'aide de C# ?

DDD
Libérer: 2025-01-26 17:06:10
original
960 Les gens l'ont consulté

How to Parse CSV Files with Comma-Delimited Fields Enclosed in Quotes Using C#?

Gestion des virgules entre guillemets dans l'analyse CSV avec C#

L'analyse correcte des fichiers CSV devient complexe lorsque les champs contiennent eux-mêmes des virgules. Cet article présente une solution C# robuste pour extraire des données de tels fichiers CSV, en se concentrant sur les scénarios dans lesquels les champs délimités par des virgules sont placés entre guillemets.

Le défi se pose lorsqu'un champ, tel que « Corvallis, OR », contient une virgule dans son contenu cité. Le fractionnement de chaîne standard basé sur des virgules échouerait dans ce cas. La solution réside dans l'utilisation de la classe Microsoft.VisualBasic.FileIO.TextFieldParser.

Cette classe est spécifiquement conçue pour gérer des fichiers délimités avec des champs entre guillemets. Voici un exemple de code C# :

<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>
Copier après la connexion

Cet extrait de code analyse efficacement les données CSV, gère correctement les champs entre guillemets, garantissant que les virgules contenues dans ces guillemets sont traitées comme faisant partie du champ et non comme des délimiteurs. L'instruction using assure une bonne gestion des ressources en fermant automatiquement le TextFieldParser. Cette approche garantit une extraction précise des données à partir de fichiers CSV, même avec des structures de champs complexes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal