C# legge un file CSV e archivia i suoi valori in un array

Minahil Noor 12 ottobre 2023
  1. Programma C# per leggere un file CSV e memorizzarne il valore in un Array utilizzando la classe StreamReader
  2. Programma C# per leggere un file CSV e memorizzarne il valore in un Array utilizzando TextFieldParser della libreria Microsoft.VisualBasic.FileIO
C# legge un file CSV e archivia i suoi valori in un array

Un file CSV è un file separato da virgole, utilizzato per memorizzare i dati in modo organizzato. Di solito memorizza i dati in forma tabulare. La maggior parte delle organizzazioni aziendali memorizza i propri dati in file CSV.

In C#, possiamo eseguire varie operazioni su un file CSV. Possiamo leggere, scrivere e modificare un file CSV. Questo articolo si concentra su vari metodi per leggere un file CSV e memorizzarne i dati in un array.

Programma C# per leggere un file CSV e memorizzarne il valore in un Array utilizzando la classe StreamReader

In C#, la classe StreamReader viene utilizzata per gestire i file. Si apre, legge e aiuta a eseguire altre funzioni su diversi tipi di file. Possiamo anche eseguire diverse operazioni su un file CSV durante l’utilizzo di questa classe.

Il metodo OpenRead() viene utilizzato per aprire un file CSV e il metodo ReadLine() per leggerne il contenuto.

La sintassi corretta per utilizzare i metodi OpenRead() e ReadLine() è la seguente:

// OpenRead() Syntax
File.OpenRead(@"FilePath");
// ReadLine() Syntax
StreamReaderObject.ReadLine();

Codice di esempio:

using System.IO;
using System.Collections.Generic;
using System;

class ReadingCSV {
  static void Main(string[] args) {
    var reader = new StreamReader(File.OpenRead(@"D:\New folder\Data.csv"));
    List<string> listA = new List<string>();
    List<string> listB = new List<string>();
    while (!reader.EndOfStream) {
      var line = reader.ReadLine();
      var values = line.Split(';');

      listA.Add(values[0]);
      listB.Add(values[1]);
      foreach (var coloumn1 in listA) {
        Console.WriteLine(coloumn1);
      }
      foreach (var coloumn2 in listA) {
        Console.WriteLine(coloumn2);
      }
    }
  }
}

Produzione:

// Contents of the CSV file

Programma C# per leggere un file CSV e memorizzarne il valore in un Array utilizzando TextFieldParser della libreria Microsoft.VisualBasic.FileIO

In C#, abbiamo un File Parser che analizza il file in base al suo contenuto. Il TextFieldParser è definito nella libreria Microsoft.VisualBasic.FileIO. Prima di eseguire il programma seguente, non dimenticare di aggiungere il riferimento a Microsoft.VisualBasic.

La sintassi corretta per utilizzare questo parser è la seguente:

TextFieldParser ParserName = new TextFieldParser(PathString);

Codice di esempio:

using System;
using Microsoft.VisualBasic.FileIO;

class ReadingCSV {
  public static void Main() {
    string coloumn1;
    string coloumn2;
    var path = @"D:\New folder\Data.csv";
    using (TextFieldParser csvReader = new TextFieldParser(path)) {
      csvReader.CommentTokens = new string[] { "#" };
      csvReader.SetDelimiters(new string[] { "," });
      csvReader.HasFieldsEnclosedInQuotes = true;

      // Skip the row with the column names
      csvReader.ReadLine();

      while (!csvReader.EndOfData) {
        // Read current line fields, pointer moves to the next line.
        string[] fields = csvReader.ReadFields();
        coloumn1 = fields[0];
        coloumn2 = fields[1];
      }
    }
  }
}

Articolo correlato - Csharp CSV

Articolo correlato - Csharp Array