Analyser le fichier CSV en C#

Muhammad Maisam Abbas 11 décembre 2023
  1. Analyser le fichier CSV avec la classe TextFieldParser en C#
  2. Analyser un fichier CSV avec la bibliothèque FileHelpers en C#
Analyser le fichier CSV en C#

Ce tutoriel abordera les méthodes pour analyser un fichier CSV en C#.

Analyser le fichier CSV avec la classe TextFieldParser en C#

Pour utiliser la classe TextFieldParser, nous devons référencer le Microsoft.VisualBasic.dll dans notre code C#. La classe TextFieldParser contient de nombreuses méthodes d’analyse des fichiers texte structurés en C#. On peut lire un fichier CSV avec la classe TextFieldParser en mettant les délimiteurs à , avec la fonction SetDelimiters() à l’intérieur de la classe TextFieldParser. L’exemple de code suivant nous montre comment analyser un fichier CSV avec la classe TextFieldParser en C#.

using System;
using Microsoft.VisualBasic.FileIO;

namespace parse_csv {
  class Program {
    static void Main(string[] args) {
      using (TextFieldParser textFieldParser = new TextFieldParser(@"C:\File\Sheet1.csv")) {
        textFieldParser.TextFieldType = FieldType.Delimited;
        textFieldParser.SetDelimiters(",");
        while (!textFieldParser.EndOfData) {
          string[] rows = textFieldParser.ReadFields();
        }
      }
    }
  }
}

Dans le code ci-dessus, nous avons initialisé l’instance textFieldParser de la classe TextFieldParser en spécifiant le chemin de notre fichier CSV dans le constructeur. Nous définissons ensuite notre type de champ texte à délimiter avec la fonction textFieldParser.TextFieldType = FieldType.Delimited et définissons , comme délimiteur avec la fonction textFieldParser.SetDelimiter(','). Nous avons ensuite utilisé une boucle while pour lire le fichier CSV jusqu’à la fin avec le textFieldParser.EndofData. Nous avons stocké les données dans un tableau de chaînes avec la fonction ReadFields().

Analyser un fichier CSV avec la bibliothèque FileHelpers en C#

La bibliothèque FileHelpers est utilisée pour lire et écrire des données dans des fichiers, des flux et des chaînes en C#. C’est une bibliothèque tierce et n’est pas pré-installée avec le framework .NET. Nous pouvons facilement l’installer en le recherchant dans le gestionnaire de packages NuGet dans l’IDE de Visual Studio. Nous pouvons utiliser la classe FileHelpersEngine pour analyser les données d’un fichier CSV en C#. La classe FileHelperEngine récupère les données du fichier dans des objets de classe en C#. Donc, nous devons d’abord créer une classe de modèle qui peut contenir nos données à partir du fichier. La classe contiendrait des champs qui représentent des colonnes dans le fichier CSV. On peut utiliser le [DelimitedRecord(",")] pour spécifier que le , est utilisé ici comme délimiteur. Nous pouvons utiliser la fonction ReadFile(path) pour lire des données dans un tableau d’objets de classe à partir du fichier dans le chemin spécifié. L’exemple de code suivant nous montre comment analyser un fichier CSV avec la bibliothèque FileHelpers en C#.

using FileHelpers;
using System;
namespace parse_csv {
  [DelimitedRecord(",")]
  public class Record {
    public string Name;

    public string Age;
  }
  class Program {
    static void Main(string[] args) {
      var fileHelperEngine = new FileHelperEngine<Record>();
      var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

      foreach (var record in records) {
        Console.WriteLine(record.Name);
        Console.WriteLine(record.Age);
      }
    }
  }
}

Production:

Name Age MMA 22 SDA 19 SHA 11

Dans le code ci-dessus, nous lisons les données à l’intérieur du fichier C:\File\records.csv et les sauvegardons dans un tableau d’objets de la classe Record avec la bibliothèque FileHelpers en C#.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Csharp CSV